grape-swagger 0.27.2 → 0.27.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cd96ed3b622fb9377315f85c54a8bc7a48bca789
4
- data.tar.gz: f422e01c1efc38591c61e0b9e547e2935b543d92
3
+ metadata.gz: 4f8965c701e729810dda5456398ca1be10ede83f
4
+ data.tar.gz: ea1d30739c20e4317301e8f4117c62ae9b48a3aa
5
5
  SHA512:
6
- metadata.gz: 6ad5d364859f7eaef34fb16805b5ba7dbbb8c1c79c84d4b76f18d5635b17237cd11cb7a849107d24ffe6eea98c99babd8ff287dcf5c233a877d6f573f35633fc
7
- data.tar.gz: 135704aca1becf4c1f25cfcf4c0d1ebe71357fb7d637f151d589ba26cca9c7dad00f945e6948108e632a985abfdb727a322dcb02672ed972b447ca9e5f842f27
6
+ metadata.gz: e3ddeb7ee947dbc7bcfbc5aa6c102e71c68bf9f366f2a9fdb0db56c7ea8beba030d5eea0353821c32ba4c0596e82e48f37f9e99f5d215e1ddcb0ea1cd954f782
7
+ data.tar.gz: 96e40804304834a0c1615cc0a1915b370a1b84c9df308311972fedbc92ccf7e771f87120b9963d216532c825aed47538b6e9c335ddb5b8f8378edb2ea99899b1
data/.rubocop.yml CHANGED
@@ -1,10 +1,13 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
1
3
  AllCops:
2
4
  Exclude:
3
5
  - vendor/**/*
4
6
  - example/**/*
5
7
  TargetRubyVersion: 2.4
6
8
 
7
- inherit_from: .rubocop_todo.yml
9
+ Layout/IndentHash:
10
+ EnforcedStyle: consistent
8
11
 
9
12
  Metrics/BlockLength:
10
13
  Exclude:
@@ -18,8 +21,6 @@ Metrics/MethodLength:
18
21
  Exclude:
19
22
  - spec/**/*
20
23
 
21
- Style/IndentHash:
22
- EnforcedStyle: consistent
23
24
 
24
25
  Style/FileName:
25
26
  Enabled: false
data/.travis.yml CHANGED
@@ -20,6 +20,7 @@ env:
20
20
  - GRAPE_VERSION=0.17.0
21
21
  - GRAPE_VERSION=0.18.0
22
22
  - GRAPE_VERSION=0.19.2
23
+ - GRAPE_VERSION=1.0.0
23
24
  - GRAPE_VERSION=HEAD
24
25
 
25
26
  matrix:
data/CHANGELOG.md CHANGED
@@ -8,6 +8,16 @@
8
8
 
9
9
  * Your contribution here.
10
10
 
11
+ ### 0.27.3 (July 11, 2017)
12
+
13
+ #### Features
14
+
15
+ * [#613](https://github.com/ruby-grape/grape-swagger/pull/613): Fix Proc with arity one in param values - [@timothysu](https://github.com/timothysu).
16
+
17
+ #### Fixes
18
+
19
+ * [#616](https://github.com/ruby-grape/grape-swagger/pull/616): Fix swagger to show root path ([#605](https://github.com/ruby-grape/grape-swagger/issue/605)) - [@NightWolf007](https://github.com/NightWolf007).
20
+
11
21
  ### 0.27.2 (May 11, 2017)
12
22
 
13
23
  #### Features
data/Gemfile CHANGED
@@ -6,9 +6,9 @@ ruby RUBY_VERSION
6
6
 
7
7
  gemspec
8
8
 
9
- gem 'grape', case version = ENV['GRAPE_VERSION'] || '~> 0.19'
9
+ gem 'grape', case version = ENV['GRAPE_VERSION'] || '~> 1.0'
10
10
  when 'HEAD'
11
- { github: 'ruby-grape/grape' }
11
+ { git: 'https://github.com/ruby-grape/grape' }
12
12
  else
13
13
  version
14
14
  end
@@ -25,7 +25,7 @@ group :development, :test do
25
25
  gem 'rake'
26
26
  gem 'rdoc'
27
27
  gem 'rspec', '~> 3.0'
28
- gem 'rubocop', '~> 0.48'
28
+ gem 'rubocop', '~> 0.49'
29
29
  end
30
30
 
31
31
  group :test do
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
13
13
  s.summary = 'Add auto generated documentation to your Grape API that can be displayed with Swagger.'
14
14
  s.license = 'MIT'
15
15
 
16
- s.required_ruby_version = '>= 2.2.6'
16
+ s.required_ruby_version = '>= 2.2'
17
17
  s.add_runtime_dependency 'grape', '>= 0.16.2'
18
18
 
19
19
  s.files = `git ls-files`.split("\n")
data/lib/grape-swagger.rb CHANGED
@@ -69,7 +69,7 @@ module Grape
69
69
  route_match = route_match.match('\/([\w|-]*?)[\.\/\(]') || route_match.match('\/([\w|-]*)$')
70
70
  next unless route_match
71
71
  resource = route_match.captures.first
72
- next if resource.empty?
72
+ resource = '/' if resource.empty?
73
73
  @target_class.combined_routes[resource] ||= []
74
74
  next if doc_klass.hide_documentation_path && route.path.match(/#{doc_klass.mount_path}($|\/|\(\.)/)
75
75
  @target_class.combined_routes[resource] << route
@@ -101,7 +101,7 @@ module GrapeSwagger
101
101
  def parse_enum_or_range_values(values)
102
102
  case values
103
103
  when Proc
104
- parse_enum_or_range_values(values.call)
104
+ parse_enum_or_range_values(values.call) if values.parameters.empty?
105
105
  when Range
106
106
  parse_range_values(values) if values.first.is_a?(Integer)
107
107
  else
@@ -14,7 +14,8 @@ module GrapeSwagger
14
14
  path.gsub!(/:(\w+)/, '{\1}')
15
15
 
16
16
  # set item from path, this could be used for the definitions object
17
- item = path.gsub(%r{/{(.+?)}}, '').split('/').last.singularize.underscore.camelize || 'Item'
17
+ path_name = path.gsub(%r{/{(.+?)}}, '').split('/').last
18
+ item = path_name.present? ? path_name.singularize.underscore.camelize : 'Item'
18
19
 
19
20
  if route.version && options[:add_version]
20
21
  version = GrapeSwagger::DocMethods::Version.get(route)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GrapeSwagger
4
- VERSION = '0.27.2'
4
+ VERSION = '0.27.3'
5
5
  end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe '#605 root route documentation' do
6
+ let(:app) do
7
+ Class.new(Grape::API) do
8
+ get do
9
+ { message: 'hello world' }
10
+ end
11
+
12
+ add_swagger_documentation format: :json
13
+ end
14
+ end
15
+
16
+ subject do
17
+ get '/swagger_doc'
18
+ JSON.parse(last_response.body)['paths']
19
+ end
20
+
21
+ specify { expect(app.combined_routes.keys).to include '/' }
22
+ specify { expect(subject.keys).to include '/' }
23
+ end
@@ -47,6 +47,14 @@ describe GrapeSwagger::DocMethods::ParseParams do
47
47
  expect(parsed_range).to eql(enum: %w[a b c])
48
48
  end
49
49
  end
50
+
51
+ describe 'with arity one' do
52
+ let(:values) { proc { |v| v < 25 } }
53
+ specify do
54
+ parsed_range = subject.send(:parse_enum_or_range_values, values)
55
+ expect(parsed_range).to be_nil
56
+ end
57
+ end
50
58
  end
51
59
 
52
60
  describe 'values as Array -> enums' do
@@ -100,6 +100,15 @@ describe 'a simple mounted api' do
100
100
  { 'name' => 'custom', 'description' => 'Operations about customs' }
101
101
  ],
102
102
  'paths' => {
103
+ '/' => {
104
+ 'get' => {
105
+ 'summary' => 'Document root',
106
+ 'description' => 'Document root',
107
+ 'produces' => ['application/json'],
108
+ 'responses' => { '200' => { 'description' => 'Document root' } },
109
+ 'operationId' => 'get'
110
+ }
111
+ },
103
112
  '/simple' => {
104
113
  'get' => {
105
114
  'summary' => 'This gets something.',
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape-swagger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.2
4
+ version: 0.27.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Vandecasteele
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-11 00:00:00.000000000 Z
11
+ date: 2017-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grape
@@ -88,6 +88,7 @@ files:
88
88
  - spec/issues/579_align_put_post_parameters_spec.rb
89
89
  - spec/issues/582_file_response_spec.rb
90
90
  - spec/issues/587_range_parameter_delimited_by_dash_spec.rb
91
+ - spec/issues/605_root_route_documentation_spec.rb
91
92
  - spec/lib/data_type_spec.rb
92
93
  - spec/lib/endpoint_spec.rb
93
94
  - spec/lib/extensions_spec.rb
@@ -170,7 +171,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
170
171
  requirements:
171
172
  - - ">="
172
173
  - !ruby/object:Gem::Version
173
- version: 2.2.6
174
+ version: '2.2'
174
175
  required_rubygems_version: !ruby/object:Gem::Requirement
175
176
  requirements:
176
177
  - - ">="
@@ -197,6 +198,7 @@ test_files:
197
198
  - spec/issues/579_align_put_post_parameters_spec.rb
198
199
  - spec/issues/582_file_response_spec.rb
199
200
  - spec/issues/587_range_parameter_delimited_by_dash_spec.rb
201
+ - spec/issues/605_root_route_documentation_spec.rb
200
202
  - spec/lib/data_type_spec.rb
201
203
  - spec/lib/endpoint_spec.rb
202
204
  - spec/lib/extensions_spec.rb