grape-swagger 0.10.1 → 0.10.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5cfbc79e708b79d924566658b3638c783fb3aed7
4
- data.tar.gz: 9e83444251591329c9017ffc0c2a721474f8775a
3
+ metadata.gz: 5a6996205661a00c64c62bb85fe5c68ea79c0acf
4
+ data.tar.gz: 446c20aa4754161e0fee6aaff5894af24ec06f76
5
5
  SHA512:
6
- metadata.gz: a69ba696f61ea547d04b345c56ecebe9219f132d8a4c4054efbec31eb72d85767952d630b91bfb9f08ab5af47941e01a90d5bb9c7b738502d4b13bfc16bb5040
7
- data.tar.gz: f29dc09e59558e2a60c03bf887dfeee5ef8d4ff505d81a50dcd62c6cda8b5359b684d10b175a828982e4ac062ffe33e3190b29d23a92e720918f2e1f643a740c
6
+ metadata.gz: 4968dde338ad1282e6100ec9d7b318c76267346f9048d01d8027065fa7e1e7468ff80038448ebf5184d809512c9b8dbaa5584f7996085b63ed76b5092a7de45c
7
+ data.tar.gz: 468c21cc9341a54105c7c892432b9e2818b4811bb3add16047b847cac8d6be45beaddfa8b6b41bd08087333b46f1c90317583cf43c3b276cdec1f4b185fdec54
data/.rubocop_todo.yml CHANGED
@@ -1,42 +1,42 @@
1
1
  # This configuration was generated by `rubocop --auto-gen-config`
2
- # on 2015-03-11 10:53:03 -0400 using RuboCop version 0.27.0.
2
+ # on 2015-04-01 08:13:45 -0400 using RuboCop version 0.27.0.
3
3
  # The point is for the user to remove these configuration records
4
4
  # one by one as the offenses are removed from the code base.
5
5
  # Note that changes in the inspected code, or installation of new
6
6
  # versions of RuboCop, may require this file to be generated again.
7
7
 
8
- # Offense count: 10
8
+ # Offense count: 11
9
9
  Metrics/AbcSize:
10
- Max: 347
10
+ Max: 360
11
11
 
12
12
  # Offense count: 1
13
13
  # Configuration parameters: CountComments.
14
14
  Metrics/ClassLength:
15
- Max: 486
15
+ Max: 509
16
16
 
17
17
  # Offense count: 6
18
18
  Metrics/CyclomaticComplexity:
19
- Max: 99
19
+ Max: 102
20
20
 
21
- # Offense count: 294
21
+ # Offense count: 312
22
22
  # Configuration parameters: AllowURI, URISchemes.
23
23
  Metrics/LineLength:
24
24
  Max: 254
25
25
 
26
- # Offense count: 20
26
+ # Offense count: 21
27
27
  # Configuration parameters: CountComments.
28
28
  Metrics/MethodLength:
29
- Max: 369
29
+ Max: 381
30
30
 
31
31
  # Offense count: 5
32
32
  Metrics/PerceivedComplexity:
33
- Max: 101
33
+ Max: 105
34
34
 
35
35
  # Offense count: 8
36
36
  Style/ClassVars:
37
37
  Enabled: false
38
38
 
39
- # Offense count: 76
39
+ # Offense count: 81
40
40
  Style/Documentation:
41
41
  Enabled: false
42
42
 
data/.travis.yml CHANGED
@@ -3,9 +3,9 @@ language: ruby
3
3
  sudo: false
4
4
 
5
5
  rvm:
6
+ - 2.2.2
6
7
  - 2.1.1
7
8
  - 2.0.0
8
- - 1.9.3
9
9
  - rbx-2.2.10
10
10
  - jruby-19mode
11
11
 
@@ -14,4 +14,7 @@ env:
14
14
  - GRAPE_VERSION=0.9.0
15
15
  - GRAPE_VERSION=0.10.0
16
16
  - GRAPE_VERSION=0.10.1
17
+ - GRAPE_VERSION=0.11.0
18
+ - GRAPE_VERSION=0.12.0
19
+ - GRAPE_VERSION=0.13.0
17
20
  - GRAPE_VERSION=HEAD
data/CHANGELOG.md CHANGED
@@ -1,98 +1,122 @@
1
+ ### 0.10.2 (August 19, 2015)
2
+
3
+ #### Features
4
+
5
+ * [#215](https://github.com/ruby-grape/grape-swagger/pull/223): Support swagger `defaultValue` without the need to set a Grape `default` - [@jv-dan](https://github.com/jv-dan).
6
+
7
+ #### Fixes
8
+
9
+ * [#273](https://github.com/ruby-grape/grape-swagger/pull/273): Fix for hide_format when API class uses a single format with Grape 0.12.0 - [@mattolson](https://github.com/mattolson).
10
+ * [#264](https://github.com/ruby-grape/grape-swagger/pull/264): Consistent header param types - [@QuickPay](https://github.com/QuickPay).
11
+ * [#260](https://github.com/ruby-grape/grape-swagger/pull/260), [#261](https://github.com/ruby-grape/grape-swagger/pull/261): Fixed endpoints that would wrongly be hidden if `hide_documentation_path` is set - [@QuickPay](https://github.com/QuickPay).
12
+ * [#259](https://github.com/ruby-grape/grape-swagger/pull/259): Fixed range values and converting integer :values range to a minimum/maximum numeric Range - [@u2](https://github.com/u2).
13
+ * [#252](https://github.com/ruby-grape/grape-swagger/pull/252): Allow docs to mounted in separate class than target - [@iangreenleaf](https://github.com/iangreenleaf).
14
+ * [#251](https://github.com/ruby-grape/grape-swagger/pull/251): Fixed model id equal to model name when root existing in entities - [@aitortomas](https://github.com/aitortomas).
15
+ * [#232](https://github.com/ruby-grape/grape-swagger/pull/232): Fixed missing raw array params - [@u2](https://github.com/u2).
16
+ * [#234](https://github.com/ruby-grape/grape-swagger/pull/234): Fixed range :values with float - [@azhi](https://github.com/azhi).
17
+ * [#225](https://github.com/ruby-grape/grape-swagger/pull/225): Fixed `param_type` to have it read from parameter's documentation hash - [@zsxking](https://github.com/zsxking).
18
+ * [#235](https://github.com/ruby-grape/grape-swagger/pull/235): Fixed nested entity names in parameters and as `$ref` in models - [@frodrigo](https://github.com/frodrigo).
19
+ * [#206](https://github.com/ruby-grape/grape-swagger/pull/206): Fixed 'is_array' in the return entity being ignored - [@igormoochnick](https://github.com/igormoochnick).
20
+ * [#266](https://github.com/ruby-grape/grape-swagger/pull/266): Respect primitive mapping on type and format attributes of 1.2 swagger spec - [@frodrigo](https://github.com/frodrigo).
21
+ * [#268](https://github.com/ruby-grape/grape-swagger/pull/268): Fixed handling of `type: Array[...]` - [@frodrigo](https://github.com/frodrigo).
22
+ * [#284](https://github.com/ruby-grape/grape-swagger/pull/284): Use new params syntax for swagger doc endpoint, fix an issue that `:name` params not recognized by `declared` method - [@calfzhou](https://github.com/calfzhou).
23
+ * [#286](https://github.com/ruby-grape/grape-swagger/pull/286): Use `detail` value for `notes` - fix an issue where `detail` value specified in a block passed to `desc` was ignored - [@rngtng](https://github.com/rngtng).
24
+
1
25
  ### 0.10.1 (March 11, 2015)
2
26
 
3
- * [#227](https://github.com/tim-vandecasteele/grape-swagger/issues/227): Fix: nested routes under prefix not documented - [@dblock](https://github.com/dblock).
4
- * [#226](https://github.com/tim-vandecasteele/grape-swagger/issues/226): Fix: be defensive with nil exposure types - [@dblock](https://github.com/dblock).
27
+ * [#227](https://github.com/ruby-grape/grape-swagger/issues/227): Fix: nested routes under prefix not documented - [@dblock](https://github.com/dblock).
28
+ * [#226](https://github.com/ruby-grape/grape-swagger/issues/226): Fix: be defensive with nil exposure types - [@dblock](https://github.com/dblock).
5
29
 
6
30
  ### 0.10.0 (March 10, 2015)
7
31
 
8
32
  #### Features
9
33
 
10
- * [#217](https://github.com/tim-vandecasteele/grape-swagger/pull/217): Support Array of entities for proper rendering of grape-entity input dependencies - [@swistaczek](https://github.com/swistaczek).
11
- * [#214](https://github.com/tim-vandecasteele/grape-swagger/pull/214): Allow anything that responds to `call` to be used in `:hidden` - [@zbelzer](https://github.com/zbelzer).
12
- * [#196](https://github.com/tim-vandecasteele/grape-swagger/pull/196): If `:type` is omitted, see if it's available in `:using` - [@jhollinger](https://github.com/jhollinger).
13
- * [#200](https://github.com/tim-vandecasteele/grape-swagger/pull/200): Treat `type: Symbol` as string form parameter - [@ypresto](https://github.com/ypresto).
14
- * [#207](https://github.com/tim-vandecasteele/grape-swagger/pull/207): Support grape `mutually_exclusive` - [@mintuhouse](https://github.com/mintuhouse).
15
- * [#220](https://github.com/tim-vandecasteele/grape-swagger/pull/220): Support standalone appearance of namespace routes with a custom name instead of forced nesting - [@croeck](https://github.com/croeck).
34
+ * [#217](https://github.com/ruby-grape/grape-swagger/pull/217): Support Array of entities for proper rendering of grape-entity input dependencies - [@swistaczek](https://github.com/swistaczek).
35
+ * [#214](https://github.com/ruby-grape/grape-swagger/pull/214): Allow anything that responds to `call` to be used in `:hidden` - [@zbelzer](https://github.com/zbelzer).
36
+ * [#196](https://github.com/ruby-grape/grape-swagger/pull/196): If `:type` is omitted, see if it's available in `:using` - [@jhollinger](https://github.com/jhollinger).
37
+ * [#200](https://github.com/ruby-grape/grape-swagger/pull/200): Treat `type: Symbol` as string form parameter - [@ypresto](https://github.com/ypresto).
38
+ * [#207](https://github.com/ruby-grape/grape-swagger/pull/207): Support grape `mutually_exclusive` - [@mintuhouse](https://github.com/mintuhouse).
39
+ * [#220](https://github.com/ruby-grape/grape-swagger/pull/220): Support standalone appearance of namespace routes with a custom name instead of forced nesting - [@croeck](https://github.com/croeck).
16
40
 
17
41
  #### Fixes
18
42
 
19
- * [#221](https://github.com/tim-vandecasteele/grape-swagger/pull/221): Fixed group parameters' name with type Array - [@u2](https://github.com/u2).
20
- * [#211](https://github.com/tim-vandecasteele/grape-swagger/pull/211): Fixed the dependency, just `require 'grape'` - [@u2](https://github.com/u2).
21
- * [#210](https://github.com/tim-vandecasteele/grape-swagger/pull/210): Fixed the range `:values` option, now exposed as `enum` parameters - [@u2](https://github.com/u2).
22
- * [#208](https://github.com/tim-vandecasteele/grape-swagger/pull/208): Fixed `Float` parameters, exposed as Swagger `float` types - [@u2](https://github.com/u2).
23
- * [#216](https://github.com/tim-vandecasteele/grape-swagger/pull/216), [#192](https://github.com/tim-vandecasteele/grape-swagger/issues/192), [#189](https://github.com/tim-vandecasteele/grape-swagger/issues/189): Fixed API route paths matching for root endpoints with `grape ~> 0.10.0`, specific `format` and `:path` versioning - [@dm1try](https://github.com/dm1try), [@minch](https://github.com/minch).
43
+ * [#221](https://github.com/ruby-grape/grape-swagger/pull/221): Fixed group parameters' name with type Array - [@u2](https://github.com/u2).
44
+ * [#211](https://github.com/ruby-grape/grape-swagger/pull/211): Fixed the dependency, just `require 'grape'` - [@u2](https://github.com/u2).
45
+ * [#210](https://github.com/ruby-grape/grape-swagger/pull/210): Fixed the range `:values` option, now exposed as `enum` parameters - [@u2](https://github.com/u2).
46
+ * [#208](https://github.com/ruby-grape/grape-swagger/pull/208): Fixed `Float` parameters, exposed as Swagger `float` types - [@u2](https://github.com/u2).
47
+ * [#216](https://github.com/ruby-grape/grape-swagger/pull/216), [#192](https://github.com/ruby-grape/grape-swagger/issues/192), [#189](https://github.com/ruby-grape/grape-swagger/issues/189): Fixed API route paths matching for root endpoints with `grape ~> 0.10.0`, specific `format` and `:path` versioning - [@dm1try](https://github.com/dm1try), [@minch](https://github.com/minch).
24
48
 
25
49
  ### 0.9.0 (December 19, 2014)
26
50
 
27
- * [#91](https://github.com/tim-vandecasteele/grape-swagger/issues/91): Fixed empty field for group parameters' name with type hash or Array - [@dukedave](https://github.com/dukedave).
28
- * [#154](https://github.com/tim-vandecasteele/grape-swagger/pull/154): Allow classes for type declarations inside documentation - [@mrmargolis](https://github.com/mrmargolis).
29
- * [#162](https://github.com/tim-vandecasteele/grape-swagger/pull/162): Fix performance issue related to having a large number of models - [@elado](https://github.com/elado).
30
- * [#169](https://github.com/tim-vandecasteele/grape-swagger/pull/169): Test against multiple versions of Grape - [@dblock](https://github.com/dblock).
31
- * [#166](https://github.com/tim-vandecasteele/grape-swagger/pull/166): Ensure compatibility with Grape 0.8.0 or newer - [@dblock](https://github.com/dblock).
32
- * [#174](https://github.com/tim-vandecasteele/grape-swagger/pull/172): Fix problem with using prefix name somewhere in api paths - [@grzesiek](https://github.com/grzesiek).
33
- * [#176](https://github.com/tim-vandecasteele/grape-swagger/pull/176): Added ability to load nested models recursively - [@sergey-verevkin](https://github.com/sergey-verevkin).
34
- * [#179](https://github.com/tim-vandecasteele/grape-swagger/pull/179): Document `Virtus::Attribute::Boolean` as boolean - [@eashman](https://github.com/eashman), [@dblock](https://github.com/dblock).
35
- * [#178](https://github.com/tim-vandecasteele/grape-swagger/issues/178): Fixed `Hash` parameters, now exposed as Swagger `object` types - [@dblock](https://github.com/dblock).
36
- * [#167](https://github.com/tim-vandecasteele/grape-swagger/pull/167): Support mutli-tenanted APIs, don't cache `base_path` - [@bradrobertson](https://github.com/bradrobertson), (https://github.com/dblock).
37
- * [#185](https://github.com/tim-vandecasteele/grape-swagger/pull/185): Support strings in `Grape::Entity.expose`'s `:using` option - [@jhollinger](https://github.com/jhollinger).
51
+ * [#91](https://github.com/ruby-grape/grape-swagger/issues/91): Fixed empty field for group parameters' name with type hash or Array - [@dukedave](https://github.com/dukedave).
52
+ * [#154](https://github.com/ruby-grape/grape-swagger/pull/154): Allow classes for type declarations inside documentation - [@mrmargolis](https://github.com/mrmargolis).
53
+ * [#162](https://github.com/ruby-grape/grape-swagger/pull/162): Fix performance issue related to having a large number of models - [@elado](https://github.com/elado).
54
+ * [#169](https://github.com/ruby-grape/grape-swagger/pull/169): Test against multiple versions of Grape - [@dblock](https://github.com/dblock).
55
+ * [#166](https://github.com/ruby-grape/grape-swagger/pull/166): Ensure compatibility with Grape 0.8.0 or newer - [@dblock](https://github.com/dblock).
56
+ * [#174](https://github.com/ruby-grape/grape-swagger/pull/172): Fix problem with using prefix name somewhere in api paths - [@grzesiek](https://github.com/grzesiek).
57
+ * [#176](https://github.com/ruby-grape/grape-swagger/pull/176): Added ability to load nested models recursively - [@sergey-verevkin](https://github.com/sergey-verevkin).
58
+ * [#179](https://github.com/ruby-grape/grape-swagger/pull/179): Document `Virtus::Attribute::Boolean` as boolean - [@eashman](https://github.com/eashman), [@dblock](https://github.com/dblock).
59
+ * [#178](https://github.com/ruby-grape/grape-swagger/issues/178): Fixed `Hash` parameters, now exposed as Swagger `object` types - [@dblock](https://github.com/dblock).
60
+ * [#167](https://github.com/ruby-grape/grape-swagger/pull/167): Support mutli-tenanted APIs, don't cache `base_path` - [@bradrobertson](https://github.com/bradrobertson), (https://github.com/dblock).
61
+ * [#185](https://github.com/ruby-grape/grape-swagger/pull/185): Support strings in `Grape::Entity.expose`'s `:using` option - [@jhollinger](https://github.com/jhollinger).
38
62
 
39
63
  ### 0.8.0 (August 30, 2014)
40
64
 
41
65
  #### Features
42
66
 
43
- * [#139](https://github.com/tim-vandecasteele/grape-swagger/pull/139): Added support for `Rack::Multipart::UploadedFile` parameters - [@timgluz](https://github.com/timgluz).
44
- * [#136](https://github.com/tim-vandecasteele/grape-swagger/pull/136), [#94](https://github.com/tim-vandecasteele/grape-swagger/pull/94): Recurse combination of namespaces when using mounted apps - [@renier](https://github.com/renier).
45
- * [#100](https://github.com/tim-vandecasteele/grape-swagger/pull/100): Added ability to specify a nickname for an endpoint - [@lhorne](https://github.com/lhorne).
46
- * [#94](https://github.com/tim-vandecasteele/grape-swagger/pull/94): Added support for namespace descriptions - [@renier](https://github.com/renier).
47
- * [#110](https://github.com/tim-vandecasteele/grape-swagger/pull/110), [#111](https://github.com/tim-vandecasteele/grape-swagger/pull/111) - Added `responseModel` support - [@bagilevi](https://github.com/bagilevi).
48
- * [#114](https://github.com/tim-vandecasteele/grape-swagger/pull/114): Added support for generating nested models from composed Grape Entities - [@dspaeth-faber](https://github.com/dspaeth-faber).
49
- * [#124](https://github.com/tim-vandecasteele/grape-swagger/pull/124): Added ability to change the description and parameters of the API endpoints generated by grape-swagger - [@dblock](https://github.com/dblock).
50
- * [#128](https://github.com/tim-vandecasteele/grape-swagger/pull/128): Combine global models and endpoint entities - [@dspaeth-faber](https://github.com/dspaeth-faber).
51
- * [#132](https://github.com/tim-vandecasteele/grape-swagger/pull/132): Addes support for enum values in entity documentation and form parameters - [@Antek-drzewiecki](https://github.com/Antek-drzewiecki).
52
- * [#142](https://github.com/tim-vandecasteele/grape-swagger/pull/142), [#143](https://github.com/tim-vandecasteele/grape-swagger/pull/143): Added support for kramdown, redcarpet and custom formatters - [@Antek-drzewiecki](https://github.com/Antek-drzewiecki).
67
+ * [#139](https://github.com/ruby-grape/grape-swagger/pull/139): Added support for `Rack::Multipart::UploadedFile` parameters - [@timgluz](https://github.com/timgluz).
68
+ * [#136](https://github.com/ruby-grape/grape-swagger/pull/136), [#94](https://github.com/ruby-grape/grape-swagger/pull/94): Recurse combination of namespaces when using mounted apps - [@renier](https://github.com/renier).
69
+ * [#100](https://github.com/ruby-grape/grape-swagger/pull/100): Added ability to specify a nickname for an endpoint - [@lhorne](https://github.com/lhorne).
70
+ * [#94](https://github.com/ruby-grape/grape-swagger/pull/94): Added support for namespace descriptions - [@renier](https://github.com/renier).
71
+ * [#110](https://github.com/ruby-grape/grape-swagger/pull/110), [#111](https://github.com/ruby-grape/grape-swagger/pull/111) - Added `responseModel` support - [@bagilevi](https://github.com/bagilevi).
72
+ * [#114](https://github.com/ruby-grape/grape-swagger/pull/114): Added support for generating nested models from composed Grape Entities - [@dspaeth-faber](https://github.com/dspaeth-faber).
73
+ * [#124](https://github.com/ruby-grape/grape-swagger/pull/124): Added ability to change the description and parameters of the API endpoints generated by grape-swagger - [@dblock](https://github.com/dblock).
74
+ * [#128](https://github.com/ruby-grape/grape-swagger/pull/128): Combine global models and endpoint entities - [@dspaeth-faber](https://github.com/dspaeth-faber).
75
+ * [#132](https://github.com/ruby-grape/grape-swagger/pull/132): Addes support for enum values in entity documentation and form parameters - [@Antek-drzewiecki](https://github.com/Antek-drzewiecki).
76
+ * [#142](https://github.com/ruby-grape/grape-swagger/pull/142), [#143](https://github.com/ruby-grape/grape-swagger/pull/143): Added support for kramdown, redcarpet and custom formatters - [@Antek-drzewiecki](https://github.com/Antek-drzewiecki).
53
77
 
54
78
  #### Fixes
55
79
 
56
- * [#105](https://github.com/tim-vandecasteele/grape-swagger/pull/105): Fixed compatibility with Swagger-UI - [@CraigCottingham](https://github.com/CraigCottingham).
57
- * [#87](https://github.com/tim-vandecasteele/grape-swagger/pull/87): Fixed mapping of `default` to `defaultValue` - [@m-o-e](https://github.com/m-o-e).
58
- * [#127](https://github.com/tim-vandecasteele/grape-swagger/pull/127): Fixed `undefined method 'reject' for nil:NilClass` error for an invalid route, now returning 404 Not Found - [@dblock](https://github.com/dblock).
59
- * [#135](https://github.com/tim-vandecasteele/grape-swagger/pull/135): Fixed model inclusion in models with aliased references - [@cdarne](https://github.com/cdarne).
80
+ * [#105](https://github.com/ruby-grape/grape-swagger/pull/105): Fixed compatibility with Swagger-UI - [@CraigCottingham](https://github.com/CraigCottingham).
81
+ * [#87](https://github.com/ruby-grape/grape-swagger/pull/87): Fixed mapping of `default` to `defaultValue` - [@m-o-e](https://github.com/m-o-e).
82
+ * [#127](https://github.com/ruby-grape/grape-swagger/pull/127): Fixed `undefined method 'reject' for nil:NilClass` error for an invalid route, now returning 404 Not Found - [@dblock](https://github.com/dblock).
83
+ * [#135](https://github.com/ruby-grape/grape-swagger/pull/135): Fixed model inclusion in models with aliased references - [@cdarne](https://github.com/cdarne).
60
84
 
61
85
  #### Dev
62
86
 
63
- * [#126](https://github.com/tim-vandecasteele/grape-swagger/pull/126): Rewritten demo in the `test` folder with CORS enabled - [@dblock](https://github.com/dblock).
87
+ * [#126](https://github.com/ruby-grape/grape-swagger/pull/126): Rewritten demo in the `test` folder with CORS enabled - [@dblock](https://github.com/dblock).
64
88
  * Rewritten .gemspec and removed Jeweler - [@dblock](https://github.com/dblock).
65
89
  * Added `GrapeSwagger::VERSION` - [@dblock](https://github.com/dblock).
66
90
  * Added Rubocop, Ruby-style linter - [@dblock](https://github.com/dblock).
67
91
 
68
92
  ### 0.7.2 (February 6, 2014)
69
93
 
70
- * [#84](https://github.com/tim-vandecasteele/grape-swagger/pull/84): Markdown is now Github Flavored Markdown - [@jeromegn](https://github.com/jeromegn).
71
- * [#83](https://github.com/tim-vandecasteele/grape-swagger/pull/83): Improved support for nested Entity types - [@jeromegn](https://github.com/jeromegn).
72
- * [#79](https://github.com/tim-vandecasteele/grape-swagger/pull/79): Added `dataType` to the `params` output - [@Phobos98](https://github.com/Phobos98).
73
- * [#75](https://github.com/tim-vandecasteele/grape-swagger/pull/75), [#82](https://github.com/tim-vandecasteele/grape-swagger/pull/82): Added Swagger 1.2 support - [@joelvh](https://github.com/joelvh), [@jeromegn](https://github.com/jeromegn).
74
- * [#73](https://github.com/tim-vandecasteele/grape-swagger/pull/73): Added the ability to add additional API `info` - [@mattbeedle](https://github.com/mattbeedle).
75
- * [#69](https://github.com/tim-vandecasteele/grape-swagger/pull/69): Make relative `base_path` values absolute - [@dm1try](https://github.com/dm1try).
76
- * [#66](https://github.com/tim-vandecasteele/grape-swagger/pull/66): Fixed documentation generated for paths that don't match the base URL pattern - [@swistaczek](https://github.com/swistaczek).
77
- * [#63](https://github.com/tim-vandecasteele/grape-swagger/pull/63): Added support for hiding endpoints from the documentation - [@arturoherrero](https://github.com/arturoherrero).
78
- * [#62](https://github.com/tim-vandecasteele/grape-swagger/pull/62): Fixed handling of URLs with the `-` character - [@dadario](https://github.com/dadario).
79
- * [#57](https://github.com/tim-vandecasteele/grape-swagger/pull/57): Fixed documenting of multiple API versions - [@Drakula2k](https://github.com/Drakula2k).
80
- * [#58](https://github.com/tim-vandecasteele/grape-swagger/pull/58): Fixed resource groupings for prefixed APIs - [@aew](https://github.com/aew).
81
- * [#56](https://github.com/tim-vandecasteele/grape-swagger/pull/56): Fixed `hide_documentation_path` on prefixed APIs - [@spier](https://github.com/spier).
82
- * [#54](https://github.com/tim-vandecasteele/grape-swagger/pull/54): Adding support for generating swagger `responseClass` and models from Grape Entities - [@calebwoods](https://github.com/calebwoods).
83
- * [#46](https://github.com/tim-vandecasteele/grape-swagger/pull/46): Fixed translating parameter `type` to String, enables using Mongoid fields as parameter definitions - [@dblock](https://github.com/dblock).
94
+ * [#84](https://github.com/ruby-grape/grape-swagger/pull/84): Markdown is now Github Flavored Markdown - [@jeromegn](https://github.com/jeromegn).
95
+ * [#83](https://github.com/ruby-grape/grape-swagger/pull/83): Improved support for nested Entity types - [@jeromegn](https://github.com/jeromegn).
96
+ * [#79](https://github.com/ruby-grape/grape-swagger/pull/79): Added `dataType` to the `params` output - [@Phobos98](https://github.com/Phobos98).
97
+ * [#75](https://github.com/ruby-grape/grape-swagger/pull/75), [#82](https://github.com/ruby-grape/grape-swagger/pull/82): Added Swagger 1.2 support - [@joelvh](https://github.com/joelvh), [@jeromegn](https://github.com/jeromegn).
98
+ * [#73](https://github.com/ruby-grape/grape-swagger/pull/73): Added the ability to add additional API `info` - [@mattbeedle](https://github.com/mattbeedle).
99
+ * [#69](https://github.com/ruby-grape/grape-swagger/pull/69): Make relative `base_path` values absolute - [@dm1try](https://github.com/dm1try).
100
+ * [#66](https://github.com/ruby-grape/grape-swagger/pull/66): Fixed documentation generated for paths that don't match the base URL pattern - [@swistaczek](https://github.com/swistaczek).
101
+ * [#63](https://github.com/ruby-grape/grape-swagger/pull/63): Added support for hiding endpoints from the documentation - [@arturoherrero](https://github.com/arturoherrero).
102
+ * [#62](https://github.com/ruby-grape/grape-swagger/pull/62): Fixed handling of URLs with the `-` character - [@dadario](https://github.com/dadario).
103
+ * [#57](https://github.com/ruby-grape/grape-swagger/pull/57): Fixed documenting of multiple API versions - [@Drakula2k](https://github.com/Drakula2k).
104
+ * [#58](https://github.com/ruby-grape/grape-swagger/pull/58): Fixed resource groupings for prefixed APIs - [@aew](https://github.com/aew).
105
+ * [#56](https://github.com/ruby-grape/grape-swagger/pull/56): Fixed `hide_documentation_path` on prefixed APIs - [@spier](https://github.com/spier).
106
+ * [#54](https://github.com/ruby-grape/grape-swagger/pull/54): Adding support for generating swagger `responseClass` and models from Grape Entities - [@calebwoods](https://github.com/calebwoods).
107
+ * [#46](https://github.com/ruby-grape/grape-swagger/pull/46): Fixed translating parameter `type` to String, enables using Mongoid fields as parameter definitions - [@dblock](https://github.com/dblock).
84
108
 
85
109
  ### 0.6.0 (June 19, 2013)
86
110
 
87
111
  * Added Rails 4 support - [@jrhe](https://github.com/jrhe).
88
112
  * Fix: document APIs at root level - [@dblock](https://github.com/dblock).
89
- * Added support for procs in basepath - [@tim-vandecasteele](https://github.com/tim-vandecasteele).
113
+ * Added support for procs in basepath - [@ruby-grape](https://github.com/ruby-grape).
90
114
  * Support both `:desc` and `:description` when describing parameters - [@dblock](https://github.com/dblock).
91
115
  * Fix: allow parameters such as `name[]` - [@dblock](https://github.com/dblock).
92
116
 
93
117
  ### 0.5.0 (March 28, 2013)
94
118
 
95
- * Added Grape 0.5.0 support - [@tim-vandecasteele](https://github.com/tim-vandecasteele).
119
+ * Added Grape 0.5.0 support - [@ruby-grape](https://github.com/ruby-grape).
96
120
 
97
121
  ### 0.4.0 (March 28, 2013)
98
122
 
@@ -101,28 +125,28 @@
101
125
  ### 0.3.0 (October 19, 2012)
102
126
 
103
127
  * Added version support - [@agileanimal](https://github.com/agileanimal), [@fknappe](https://github.com/fknappe).
104
- * Added support for nested parameters - [@tim-vandecasteele](https://github.com/tim-vandecasteele).
128
+ * Added support for nested parameters - [@ruby-grape](https://github.com/ruby-grape).
105
129
  * Added basic support for specifying parameters that need to be passed in the header - [@agileanimal](https://github.com/agileanimal).
106
- * Add possibility to hide the documentation paths in the generated swagger documentation - [@tim-vandecasteele](https://github.com/tim-vandecasteele).
130
+ * Add possibility to hide the documentation paths in the generated swagger documentation - [@ruby-grape](https://github.com/ruby-grape).
107
131
 
108
132
  ### 0.2.1 (August 17, 2012)
109
133
 
110
- * Added support for markdown in notes field - [@tim-vandecasteele](https://github.com/tim-vandecasteele).
134
+ * Added support for markdown in notes field - [@ruby-grape](https://github.com/ruby-grape).
111
135
  * Fix: compatibility with Rails - [@qwert666](https://github.com/qwert666).
112
- * Fix: swagger UI history - [@tim-vandecasteele](https://github.com/tim-vandecasteele).
136
+ * Fix: swagger UI history - [@ruby-grape](https://github.com/ruby-grape).
113
137
 
114
138
  ### 0.2.0 (July 27, 2012)
115
139
 
116
- * Use resource as root for swagger - [@tim-vandecasteele](https://github.com/tim-vandecasteele).
117
- * Added support for file uploads, and proper `paramType` - [@tim-vandecasteele](https://github.com/tim-vandecasteele).
140
+ * Use resource as root for swagger - [@ruby-grape](https://github.com/ruby-grape).
141
+ * Added support for file uploads, and proper `paramType` - [@ruby-grape](https://github.com/ruby-grape).
118
142
  * Added tests - [@nathanvda](https://github.com/nathanvda).
119
143
 
120
144
  ### 0.1.0 (July 19, 2012)
121
145
 
122
- * Added some configurability to the generated documentation - [@tim-vandecasteele](https://github.com/tim-vandecasteele).
123
- * Adapted to rails plugin structure - [@tim-vandecasteele](https://github.com/tim-vandecasteele).
124
- * Allowed cross origin, so swagger can be used from official site - [@tim-vandecasteele](https://github.com/tim-vandecasteele).
146
+ * Added some configurability to the generated documentation - [@ruby-grape](https://github.com/ruby-grape).
147
+ * Adapted to rails plugin structure - [@ruby-grape](https://github.com/ruby-grape).
148
+ * Allowed cross origin, so swagger can be used from official site - [@ruby-grape](https://github.com/ruby-grape).
125
149
 
126
150
  ### 0.0.0 (July 19, 2012)
127
151
 
128
- * Initial public release - [@tim-vandecasteele](https://github.com/tim-vandecasteele).
152
+ * Initial public release - [@ruby-grape](https://github.com/ruby-grape).
data/CONTRIBUTING.md CHANGED
@@ -1,20 +1,20 @@
1
1
  # Contributing to Grape-Swagger
2
2
 
3
- This project is work of [many contributors](https://github.com/tim-vandecasteele/grape-swagger/graphs/contributors).
4
- You're encouraged to submit [pull requests](https://github.com/tim-vandecasteele/grape-swagger/pulls),
5
- [propose features and discuss issues](https://github.com/tim-vandecasteele/grape-swagger/issues).
3
+ This project is work of [many contributors](https://github.com/ruby-grape/grape-swagger/graphs/contributors).
4
+ You're encouraged to submit [pull requests](https://github.com/ruby-grape/grape-swagger/pulls),
5
+ [propose features and discuss issues](https://github.com/ruby-grape/grape-swagger/issues).
6
6
  When in doubt, ask a question in the [Grape Google Group](http://groups.google.com/group/ruby-grape).
7
7
 
8
8
  In the examples below, substitute your Github username for `contributor` in URLs.
9
9
 
10
10
  ## Fork the Project
11
11
 
12
- Fork the [project on Github](https://github.com/tim-vandecasteele/grape-swagger) and check out your copy.
12
+ Fork the [project on Github](https://github.com/ruby-grape/grape-swagger) and check out your copy.
13
13
 
14
14
  ```
15
15
  git clone https://github.com/contributor/grape-swagger.git
16
16
  cd grape-swagger
17
- git remote add upstream https://github.com/tim-vandecasteele/grape-swagger.git
17
+ git remote add upstream https://github.com/ruby-grape/grape-swagger.git
18
18
  ```
19
19
 
20
20
  ## Create a Topic Branch
@@ -47,7 +47,7 @@ We definitely appreciate pull requests that highlight or reproduce a problem, ev
47
47
 
48
48
  Implement your feature or bug fix.
49
49
 
50
- Ruby style is enforced with [Rubocop](https://github.com/bbatsov/rubocop).
50
+ Ruby style is enforced with [RuboCop](https://github.com/bbatsov/rubocop).
51
51
  Run `bundle exec rubocop` and fix any style issues highlighted.
52
52
 
53
53
  Make sure that `bundle exec rake` completes without errors.
@@ -85,7 +85,7 @@ git push origin my-feature-branch
85
85
 
86
86
  ## Make a Pull Request
87
87
 
88
- Go to https://github.com/contributor/grape and select your feature branch.
88
+ Go to https://github.com/contributor/grape-swagger and select your feature branch.
89
89
  Click the 'Pull Request' button and fill out the form. Pull requests are usually reviewed within a few days.
90
90
 
91
91
  ## Rebase
@@ -103,7 +103,7 @@ git push origin my-feature-branch -f
103
103
  Update the [CHANGELOG](CHANGELOG.md) with the pull request number. A typical entry looks as follows.
104
104
 
105
105
  ```
106
- * [#123](https://github.com/tim-vandecasteele/grape-swagger/pull/123): Reticulated splines - [@contributor](https://github.com/contributor).
106
+ * [#123](https://github.com/ruby-grape/grape-swagger/pull/123): Reticulated splines - [@contributor](https://github.com/contributor).
107
107
  ```
108
108
 
109
109
  Amend your previous commit and force push the changes.
data/Gemfile CHANGED
@@ -4,7 +4,7 @@ gemspec
4
4
 
5
5
  case version = ENV['GRAPE_VERSION'] || '~> 0.9.0'
6
6
  when 'HEAD'
7
- gem 'grape', github: 'intridea/grape'
7
+ gem 'grape', github: 'ruby-grape/grape'
8
8
  else
9
9
  gem 'grape', version
10
10
  end
data/README.md CHANGED
@@ -1,20 +1,24 @@
1
1
  # grape-swagger
2
2
 
3
- [![Gem Version](http://img.shields.io/gem/v/grape-swagger.svg)](http://badge.fury.io/rb/grape-swagger)
4
- [![Build Status](http://img.shields.io/travis/tim-vandecasteele/grape-swagger.svg)](https://travis-ci.org/tim-vandecasteele/grape-swagger)
5
- [![Code Climate](https://codeclimate.com/github/tim-vandecasteele/grape-swagger.svg)](https://codeclimate.com/github/tim-vandecasteele/grape-swagger)
3
+ [![Gem Version](https://badge.fury.io/rb/grape-swagger.svg)](http://badge.fury.io/rb/grape-swagger)
4
+ [![Build Status](https://travis-ci.org/ruby-grape/grape-swagger.svg?branch=master)](https://travis-ci.org/ruby-grape/grape-swagger)
5
+ [![Code Climate](https://codeclimate.com/github/ruby-grape/grape-swagger.svg)](https://codeclimate.com/github/ruby-grape/grape-swagger)
6
6
 
7
7
  ## What is grape-swagger?
8
8
 
9
- The grape-swagger gem provides an autogenerated documentation for your [Grape](https://github.com/intridea/grape) API. The generated documentation is Swagger-compliant, meaning it can easily be discovered in [Swagger UI](https://github.com/wordnik/swagger-ui). You should be able to point [the petstore demo](http://petstore.swagger.wordnik.com) to your API.
9
+ The grape-swagger gem provides an autogenerated documentation for your [Grape](https://github.com/ruby-grape/grape) API. The generated documentation is Swagger-compliant, meaning it can easily be discovered in [Swagger UI](https://github.com/wordnik/swagger-ui). You should be able to point [the petstore demo](http://petstore.swagger.io/) to your API.
10
10
 
11
11
  ![Demo Screenshot](example/splines.png)
12
12
 
13
13
  ## Related Projects
14
14
 
15
- * [Grape](https://github.com/intridea/grape)
15
+ * [Grape](https://github.com/ruby-grape/grape)
16
16
  * [Swagger UI](https://github.com/wordnik/swagger-ui)
17
17
 
18
+ ## Swagger-Spec
19
+
20
+ Grape-swagger generates documentation per [Swagger Spec 1.2](https://github.com/swagger-api/swagger-spec/blob/master/versions/1.2.md).
21
+
18
22
  ## Installation
19
23
 
20
24
  Add to your Gemfile:
@@ -27,7 +31,7 @@ Please see [UPGRADING](UPGRADING.md) when upgrading from a previous version.
27
31
 
28
32
  ## Usage
29
33
 
30
- Mount all your different APIs (with ```Grape::API``` superclass) on a root node. In the root class definition, include ```add_swagger_documentation```, this sets up the system and registers the documentation on '/swagger_doc.json'. See [example/api.rb](example/api.rb) for a simple demo.
34
+ Mount all your different APIs (with ```Grape::API``` superclass) on a root node. In the root class definition, include ```add_swagger_documentation```, this sets up the system and registers the documentation on '/swagger_doc'. See [example/api.rb](example/api.rb) for a simple demo.
31
35
 
32
36
 
33
37
  ``` ruby
@@ -43,7 +47,7 @@ module API
43
47
  end
44
48
  ```
45
49
 
46
- To explore your API, either download [Swagger UI](https://github.com/wordnik/swagger-ui) and set it up yourself or go to the [online swagger demo](http://petstore.swagger.wordnik.com/) and enter your localhost url documentation root in the url field (probably something in the line of http://localhost:3000/swagger_doc.json).
50
+ To explore your API, either download [Swagger UI](https://github.com/wordnik/swagger-ui) and set it up yourself or go to the [online swagger demo](http://petstore.swagger.wordnik.com/) and enter your localhost url documentation root in the url field (probably something in the line of http://localhost:3000/swagger_doc).
47
51
 
48
52
  ### CORS
49
53
 
@@ -86,7 +90,7 @@ API class name.
86
90
 
87
91
  #### markdown
88
92
 
89
- Allow markdown in `notes`, default is `nil`. (disabled) See below for details.
93
+ Allow markdown in `detail`/`notes`, default is `nil`. (disabled) See below for details.
90
94
 
91
95
  #### hide_format
92
96
 
@@ -110,7 +114,7 @@ Add `basePath` key to the JSON documentation, default is `true`.
110
114
 
111
115
  #### models
112
116
 
113
- A list of entities to document. Combine with the [grape-entity](https://github.com/intridea/grape-entity) gem. See below for details.
117
+ A list of entities to document. Combine with the [grape-entity](https://github.com/ruby-grape/grape-entity) gem. See below for details.
114
118
 
115
119
  #### hide_documentation_path
116
120
 
@@ -191,6 +195,54 @@ You can specify a swagger nickname to use instead of the auto generated name by
191
195
  desc 'Get a full list of pets', nickname: 'getAllPets'
192
196
  ```
193
197
 
198
+ ## Defining an endpoint as array
199
+
200
+ You can define an endpoint as array by adding `is_array` in the description:
201
+
202
+ ``` ruby
203
+ desc 'Get a full list of pets', is_array: true
204
+ ```
205
+
206
+ ## Using an options hash
207
+
208
+ The Grape DSL supports either an options hash or a restricted block to pass settings. Passing the `nickname`, `hidden` and `is_array` options together with response codes is only possible when passing an options hash.
209
+ Since the syntax differs you'll need to adjust it accordingly:
210
+
211
+ ``` ruby
212
+ desc 'Get all kittens!', {
213
+ :hidden => true,
214
+ :is_array => true,
215
+ :nickname => 'getKittens',
216
+ :entity => Entities::Kitten, # use entity instead of success
217
+ :http_codes => [[401, 'KittenBitesError', Entities::BadKitten]] # use http_codes instead of failure
218
+ }
219
+ get '/kittens' do
220
+ ```
221
+
222
+ ## Specify endpoint details
223
+
224
+ To specify further details for an endpoint, use the `detail` option within a block passed to `desc`:
225
+
226
+ ``` ruby
227
+ desc 'Get all kittens!' do
228
+ detail 'this will expose all the kittens'
229
+ end
230
+ get '/kittens' do
231
+ ```
232
+
233
+ ## Overriding param type
234
+
235
+ You can override paramType in POST|PUT methods to query, using the documentation hash.
236
+
237
+ ``` ruby
238
+ params do
239
+ requires :action, type: Symbol, values: [:PAUSE, :RESUME, :STOP], documentation: { param_type: 'query' }
240
+ end
241
+ post :act do
242
+ ...
243
+ end
244
+ ```
245
+
194
246
  ## Expose nested namespace as standalone route
195
247
  Use the `nested: false` property in the `swagger` option to make nested namespaces appear as standalone resources.
196
248
  This option can help to structure and keep the swagger schema simple.
@@ -200,9 +252,9 @@ This option can help to structure and keep the swagger schema simple.
200
252
  ...
201
253
  end
202
254
  end
203
-
255
+
204
256
  All routes that belong to this namespace (here: the `GET /order_id`) will then be assigned to the `store_order` route instead of the `store` resource route.
205
-
257
+
206
258
  It is also possible to expose a namspace within another already exposed namespace:
207
259
 
208
260
  namespace 'store/order', desc: 'Order operations within a store', swagger: { nested: false } do
@@ -229,6 +281,28 @@ The name should not contain whitespaces or any other special characters due to f
229
281
  end
230
282
  end
231
283
 
284
+ ## Additional documentation
285
+
286
+ ## Setting a Swagger defaultValue
287
+
288
+ Grape allows for an additional documentation hash to be passed to a parameter.
289
+
290
+ params do
291
+ requires :id, type: Integer, desc: 'Coffee ID'
292
+ requires :temperature, type: Integer, desc: 'Temperature of the coffee in celcius', documentation: { example: 72 }
293
+ end
294
+
295
+ The example parameter will populate the Swagger UI with the example value, and can be used for optional or required parameters.
296
+
297
+ Grape uses the option `default` to set a default value for optional parameters. This is different in that Grape will set your parameter to the provided default if the parameter is omitted, whereas the example value above will only set the value in the UI itself. This will set the Swagger `defaultValue` to the provided value. Note that the example value will override the Grape default value.
298
+
299
+
300
+ params do
301
+ requires :id, type: Integer, desc: 'Coffee ID'
302
+ optional :temperature, type: Integer, desc: 'Temperature of the coffee in celcius', default: 72
303
+ end
304
+
305
+
232
306
  ## Grape Entities
233
307
 
234
308
  Add the [grape-entity](https://github.com/agileanimal/grape-entity) gem to our Gemfile.
@@ -336,9 +410,9 @@ module API
336
410
  end
337
411
  ```
338
412
 
339
- ## Markdown in Notes
413
+ ## Markdown in Detail/Notes
340
414
 
341
- The grape-swagger gem allows you to add an explanation in markdown in the notes field. Which would result in proper formatted markdown in Swagger UI.
415
+ The grape-swagger gem allows you to add an explanation in markdown in the detail/notes field. Which would result in proper formatted markdown in Swagger UI.
342
416
  Grape-swagger uses adapters for several markdown formatters. It includes adapters for [kramdown](http://kramdown.rubyforge.org) (kramdown [syntax](http://kramdown.rubyforge.org/syntax.html)) and [redcarpet](https://github.com/vmg/redcarpet).
343
417
  The adapters are packed in the GrapeSwagger::Markdown modules. We do not include the markdown gems in our gemfile, so be sure to include or install the depended gems.
344
418
 
@@ -362,8 +436,8 @@ add_swagger_documentation(
362
436
  Finally you can write endpoint descriptions the with markdown enabled.
363
437
 
364
438
  ``` ruby
365
- desc "Reserve a burger in heaven", {
366
- notes: <<-NOTE
439
+ desc "Reserve a burger in heaven" do
440
+ detail <<-NOTE
367
441
  Veggie Burgers in Heaven
368
442
  -----------------
369
443
 
@@ -379,7 +453,7 @@ desc "Reserve a burger in heaven", {
379
453
  * _Will go to Heaven:_ Probably
380
454
  * _Will go to Hell:_ Probably not
381
455
  NOTE
382
- }
456
+ end
383
457
  ```
384
458
 
385
459
  ### Redcarpet