54 Commits

Author SHA1 Message Date
Jim Schubert
376e419d0b Support models with multi-level hierarchy (via roxspring) (#4503)
* Example of broken multi-level hierarchy

* Support for multiple levels of hierarchy in model objects

* Support for multiple levels of hierarchy in generators

* Regenerated samples

* Temporarily skip scalaz sample verification, which is having issue with Java version in CI container

* Re-enable scalaz in verify samples

Co-authored-by: Rob Oxspring <roxspring@imapmail.org>
2019-12-27 15:42:32 +08:00
wing328
51014839fd add new perl file 2019-06-28 18:00:48 +08:00
Roman Müller
73966a0152 [KOTLIN Spring] add interfaceOnly option (#3050)
* move template definition to processOpts()

* add interfaceOnly option for kotlin-spring

* add template for interface only option
2019-06-27 12:23:50 -04:00
wing328
35a6f9d6e6 remove corrupted files 2019-06-27 12:12:44 +08:00
William Cheng
74c569ebf8
Make sure Perl client samples are up-to-date (#3207)
* Make sure Perl samples are up-to-date

* update perl samples
2019-06-25 10:34:44 +08:00
Min Kim
06fdc925a5 Bugfix(Perl): Support nested primitive types in ARRARY or HASH for basic object (#2713)
* support nested primitive types in ARRARY or HASH for basic object

* run bin/perl-petstore.sh and bin/openapi3/{LANG}-petstore.sh
2019-04-23 16:19:16 +08:00
William Cheng
d7d994620c
Add multiple inheritance support to Perl client (#1681)
* add multiple inheritance support to perl client

* remove allof test from fake petstore
2018-12-17 15:28:20 +08:00
William Cheng
e29f263941
Add perltidy to format Perl code (#970)
* add perl tidy without updating petstore samples

* incldue pl file, update samples

* use no backup option, perltidy on test.pl
2018-09-06 14:46:02 +08:00
William Cheng
c60010c965
Update default value for Perl, Ruby, ROR generators (#265)
* rename perl genreator default

* update ruby sinatra default

* rename ror default value
2018-04-29 20:37:12 +08:00
Jeremie Bresson
53597764c3 Add OpenAPI spec 3.0 support (beta)
Co-authored-by: Akihito Nakano <sora.akatsuki@gmail.com>
Co-authored-by: Jeremie Bresson <dev@jmini.fr>
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
Co-authored-by: Martin Delille <martin@phonations.com>
Co-authored-by: Tomasz Prus <tomasz.prus@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2018-04-17 09:19:10 +02:00
Larry Bordowitz
65d788396b [6313] Add imports to perl objects. (#6500) 2017-09-19 10:11:38 +08:00
wing328
e1e5ac4d37 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-05-17 22:00:06 +08:00
Benjamin Douglas
9058099e5b Add alias type definitions for Java
When a spec defines a Model at the top level that is a non-aggretate type (such
as string, number or boolean), it essentially represents an alias for the simple
type. For example, the following spec snippet creates an alias of the boolean
type that for all intents and purposes acts just like a regular boolean.

    definitions:
      JustABoolean:
        type: boolean

This can be modeled in some languages through built-in mechanisms, such as
typedefs in C++. Java, however, just not have a clean way of representing this.

This change introduces an internal mechanism for representing aliases. It
maintains a map in DefaultCodegen that tracks these types of definitions, and
wherever it sees the "JustABoolean" type in the spec, it generates code that
uses the built-in "Boolean" instead.

This functionality currenlty only applies to Java, but could be extended to
other languages later.

The change adds a few examples of this to the fake endpoint spec for testing,
which means all of the samples change as well.
2017-04-17 12:58:31 -07:00
Paŭlo Ebermann
3a48ba8bfd Update all the samples.
(except clojure + scalatra, because those are broken, will fixed with later master merge.)
2017-03-13 19:50:10 +01:00
wing328
4d19fb6b2f hide generation timestamp for perl (#4614) 2017-01-21 19:12:51 +08:00
wing328
90512e6326 Remove Apache license from API client generators (#4197)
* remove php apache license

* remove apache license from C#

* remove apache license in objc code

* remove license from swift 3 code

* remove apache license from perl code

* remove license from scala code

* remove license from ts, go, android, cpp, scala

* remove license from java api client

* restore clojure petstore files

* remove license from travis file

* clean up apache-related terms in php, ruby, python mustache tempaltes

* remove license from JS API cilent
2016-11-16 21:44:49 +08:00
wing328
598c21b06e add new perl petstore files 2016-08-28 16:02:09 +08:00
wing328
7de95c52c1 add apache 2.0 license to perl api client 2016-06-10 22:43:56 +08:00
wing328
0b42b533d9 add new files 2016-04-16 00:44:36 +08:00
wing328
aa04bbb92e update pet store test case for perl after switching spec 2016-04-14 16:19:39 +08:00
wing328
68cb030609 add new files for format test model 2016-04-11 22:11:53 +08:00
wing328
eef07f4d84 add new files for perl, php, ruby 2016-03-30 22:38:53 +08:00
wing328
47bb5689d9 better hanlding of model name starting with number 2016-03-17 11:49:06 +08:00
wing328
2c5be10589 add git push script to perl 2016-03-11 16:25:45 +08:00
wing328
df61aa1a14 add auth setting to perl doc 2016-03-08 20:07:46 +08:00
wing328
24c47c7434 add new files for perl generator 2016-03-08 17:07:53 +08:00
wing328
e0b16151f4 better model name for perl 2016-03-04 14:39:28 +08:00
wing328
7e63226ed4 update wording for test file, minor tweats to petstore test 2016-03-03 20:19:37 +08:00
wing328
5db16325d4 update perl model to support prefix and suffix 2016-02-27 21:47:07 +08:00
wing328
2ed02ee187 better handling of reserved keyword in perl 2016-02-24 21:57:29 +08:00
wing328
3d9a331666 automaticallay generate test cases for Perl 2016-02-11 08:24:51 +08:00
wing328
bfc83b330f fix indent, update perl & python sample 2016-01-17 19:32:50 +08:00
David Bartle
99842f646f more flexible perl module naming
- No more presuming 'WWW::' is at the beginning
  (default is now "WWW::SwaggerClient" vs "SwaggerClient" in order
   to accomodate)
- Test that module names Like::This write to the filesystem and in
  the mustache templates properly
2016-01-04 20:38:07 -08:00
Dave Baird
995a1f547f Removed endpoint API class documentation code
- there is no standard way for a swagger spec to define descriptive
information for an endpoint API
- added markdown as a format to the autodoc script
- added some version information to autogenerated docs
2015-11-13 19:30:47 +01:00
Dave Baird
c097696276 Added more formats to autodoc output
- narrow
- wide
- POD
- HTML
2015-11-12 13:03:04 +01:00
Dave Baird
389ce144ef Improved documentation methods
- API classes have rudimentary class doc info and useful method doc info
- object classes have more detailed method and class info
- added more tests for doc methods
2015-11-12 00:36:30 +01:00
Dave Baird
2144cf5d31 Handle missing security spec more elegantly
- remove the optional auth_setup_handler() callback mechanism
- add _global_auth_setup() method on ApiClient to analyse config when
security spec not provided
- add methods on the Configuration class to abstract getting and setting
tokens
2015-11-11 13:43:40 +01:00
Dave Baird
521b73b3ef Apply the singleton pattern to ApiClient
- make the api_client a singleton
- remove it from the configuration namespace
2015-11-10 09:47:58 +01:00
Dave Baird
c06af6d141 Documentation and automatic documentation
- added POD to Role.pm
- added README.md files translated from Role.pm POD
- added an autodoc script (based on AutoDoc.pm role). The script prints
a listing of the methods built in Role.pm
- added class_documentation() and method_documentation() accessors on
all object and API classes which return the documentation supplied in
the Swagger spec for the API
2015-11-09 23:04:59 +01:00
Dave Baird
49034946a0 Make class and method documentation available
Documentation from the swagger spec is available via methods
class_documentation() and method_documentation() on object and API
classes.
2015-11-09 17:04:19 +01:00
Dave Baird
f0f43f5fdf Fix method names clash in Moose Role
When flattening all endpoint API methods into a single class, some
method names may clash, e.g. every API has a new() method. So we skip
them, they must be accessed via the API method. Warnings are emitted to
document skipped methods.
2015-11-08 21:51:26 +01:00
wing328
4bfc032a64 add oauth2 support for Perl 2015-11-05 16:32:46 +08:00
Dave Baird
baf20ca226 Fix errors from using wrong JSON spec
I've been using http://petstore.swagger.io/v2/swagger.json instead of
modules/swagger-codegen/src/test/resources/2_0/petstore.json as the
input spec for building the petstore. This commit reverts the changes
introduced from that.
2015-11-04 22:24:49 +01:00
Dave Baird
37b123530f Add ApiFactory class and proper accessors on object classes
ApiFactory provides a get_api() method to generate API objects without
having to hard-code class names. All API and object classes are loaded
automatically.

Also, added proper accessors for attributes of object classes.
2015-11-03 17:58:53 +01:00
Dave Baird
8428e7963b Rebuild perl petstore client after previous updates
At least 2 previous updates were committed without rebuilding the perl
petstore client. One was my fault (BaseObject.pm changes), the other
changes come from an upstream update or updates  I can't identify.
2015-11-03 16:46:47 +01:00
wing328
9f7427b1cf Merge pull request #1489 from dvz5/master
Fix array query param processing
2015-11-02 21:36:25 +08:00
Dave Baird
3559a8bd09 Fix array query param processing
A couple of PHP functions that don't exist in Perl were being called to
process array query parameters.
2015-11-02 10:47:46 +01:00
dvz5
08f424824c Update 02_store_api.t 2015-11-01 23:14:22 +01:00
dvz5
2e03ecc4b8 Update 01_pet_api.t
Add tests for photoUrls, to check correct mapping from object attribute name to JSON attribute name.
2015-11-01 23:10:20 +01:00
wing328
303dbe7730 fix array,map for perl, add test case 2015-06-10 10:53:21 +08:00