rspec-rails-api 0.7.0 → 0.8.0

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
  SHA256:
3
- metadata.gz: 063a556e42014a4511564abe16c657d4957ae13e51a884b9813ba1c168a3ba57
4
- data.tar.gz: 35917b290d4121f22208ca686f13408cea7889f5c349d39e018a606710efb0f9
3
+ metadata.gz: bb2d9a9837952843bbacdc2b355dd3e1625060a114f609cf1f3396e33b5132d2
4
+ data.tar.gz: f9f914d1a513f6a6453477cfa68f79b0842f7a6002a5ce55a97bd7705d068749
5
5
  SHA512:
6
- metadata.gz: ffb97e91dde2e69050a7b38399511e902a0b9c62807af391269fd66e84379752c2883897639c8c36633ba6f85ffbb00abfa5cc89c050653943ce4cbab2a7cbf4
7
- data.tar.gz: 92f2182d34c8b83f8201975eb6d0551ec96cf1ca563668a2acd073eec549403c047c3ab73f9d11b6fe974529ce5a9c2cec02eecacecddcbf0cd7831c7ea13cfa
6
+ metadata.gz: a4514ec049d648ccd1ad00a441a0f1dd208f53b7e1a769efcbb46e8feb0b086cf0b336da138b643986292f1f04d0afe0827f2784f5faa2e7cb5ed4746d611c0d
7
+ data.tar.gz: a9c1959eaa5596f6b1501fe11f0a325481efa074b6163edbd7f922bf423130f3171f19c3158d317514a54adeea6ffb29f9b8fcc4287e3c25165a217ec0397f37
data/.gitlab-ci.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- image: ruby:2.7
2
+ image: ruby:3.1
3
3
 
4
4
  stages:
5
5
  - prepare
@@ -8,7 +8,8 @@ stages:
8
8
  bundle:
9
9
  stage: prepare
10
10
  script:
11
- - bundle install --path='vendor/bundle'
11
+ - ruby --version
12
+ - bundle install --path='vendor/bundle' --frozen
12
13
  artifacts:
13
14
  untracked: true
14
15
  expire_in: 1 hour
@@ -22,7 +23,7 @@ bundle:
22
23
  rubocop:
23
24
  stage: test
24
25
  script:
25
- - bundle install --path='vendor/bundle'
26
+ - bundle install --path='vendor/bundle' --frozen
26
27
  - bundle exec rubocop
27
28
  dependencies:
28
29
  - bundle
@@ -30,7 +31,7 @@ rubocop:
30
31
  rspec:
31
32
  stage: test
32
33
  script:
33
- - bundle install --path='vendor/bundle'
34
+ - bundle install --path='vendor/bundle' --frozen
34
35
  - bundle exec rspec
35
36
  dependencies:
36
37
  - bundle
@@ -39,6 +40,6 @@ dummy:
39
40
  stage: test
40
41
  script:
41
42
  - cd dummy
42
- - bundle install --path='vendor/bundle'
43
+ - bundle install --path='vendor/bundle' --frozen
43
44
  - bundle exec rubocop
44
45
  - bundle exec rspec
data/.rubocop.yml CHANGED
@@ -5,7 +5,7 @@ require:
5
5
  - rubocop-rspec
6
6
 
7
7
  AllCops:
8
- TargetRubyVersion: 2.7
8
+ TargetRubyVersion: 3.1
9
9
  Exclude:
10
10
  - dummy/**/*
11
11
  - vendor/bundle/**/*
@@ -29,6 +29,9 @@ Layout/HashAlignment:
29
29
  EnforcedColonStyle: table
30
30
  EnforcedHashRocketStyle: table
31
31
 
32
+ Style/HashSyntax:
33
+ EnforcedShorthandSyntax: never
34
+
32
35
  Style/TrailingCommaInArrayLiteral:
33
36
  EnforcedStyleForMultiline: comma
34
37
 
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.7.0
1
+ 3.1.2
data/CHANGELOG.md CHANGED
@@ -18,6 +18,17 @@ Maintenance, in case of rework, dependencies change
18
18
 
19
19
  ## [Unreleased]
20
20
 
21
+ ## [0.8.0] - 2024-09-28
22
+
23
+ ### Added
24
+
25
+ - Support for custom expected content types (as long as it's JSON): use `RSpec::Rails::Api::Metadata.default_expected_content_type=`
26
+ in the spec helper, or on specific tests: `for_code 200, expect_one: :string, with_content_type: 'application/json+custom; charset=utf-8' do |url|`
27
+
28
+ ### Changed
29
+
30
+ - [BREAKING] Target ruby 3.1.2 (debian 12 default)
31
+
21
32
  ## [0.7.0] - 2024-01-24
22
33
 
23
34
  ### Fixed
data/Gemfile CHANGED
@@ -6,3 +6,16 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
6
 
7
7
  # Specify your gem's dependencies in rspec-rails-api.gemspec
8
8
  gemspec
9
+
10
+ gem 'activesupport', '~> 7.2'
11
+ gem 'bundler'
12
+ gem 'byebug'
13
+ gem 'rack'
14
+ gem 'rake', '~> 10.0'
15
+ gem 'rspec', '~> 3.0'
16
+ gem 'rubocop'
17
+ gem 'rubocop-performance'
18
+ gem 'rubocop-rake'
19
+ gem 'rubocop-rspec'
20
+ gem 'simplecov'
21
+ gem 'yard'
data/Gemfile.lock CHANGED
@@ -1,86 +1,97 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rspec-rails-api (0.7.0)
4
+ rspec-rails-api (0.8.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- activesupport (6.1.7)
10
- concurrent-ruby (~> 1.0, >= 1.0.2)
9
+ activesupport (7.2.1)
10
+ base64
11
+ bigdecimal
12
+ concurrent-ruby (~> 1.0, >= 1.3.1)
13
+ connection_pool (>= 2.2.5)
14
+ drb
11
15
  i18n (>= 1.6, < 2)
16
+ logger (>= 1.4.2)
12
17
  minitest (>= 5.1)
13
- tzinfo (~> 2.0)
14
- zeitwerk (~> 2.3)
18
+ securerandom (>= 0.3)
19
+ tzinfo (~> 2.0, >= 2.0.5)
15
20
  ast (2.4.2)
21
+ base64 (0.2.0)
22
+ bigdecimal (3.1.8)
16
23
  byebug (11.1.3)
17
- concurrent-ruby (1.1.10)
18
- diff-lcs (1.5.0)
19
- docile (1.4.0)
20
- i18n (1.12.0)
24
+ concurrent-ruby (1.3.4)
25
+ connection_pool (2.4.1)
26
+ diff-lcs (1.5.1)
27
+ docile (1.4.1)
28
+ drb (2.2.1)
29
+ i18n (1.14.6)
21
30
  concurrent-ruby (~> 1.0)
22
- json (2.6.3)
23
- minitest (5.16.3)
24
- parallel (1.22.1)
25
- parser (3.1.3.0)
31
+ json (2.7.2)
32
+ language_server-protocol (3.17.0.3)
33
+ logger (1.6.1)
34
+ minitest (5.25.1)
35
+ parallel (1.26.3)
36
+ parser (3.3.5.0)
26
37
  ast (~> 2.4.1)
27
- rack (3.0.3)
38
+ racc
39
+ racc (1.8.1)
40
+ rack (3.1.7)
28
41
  rainbow (3.1.1)
29
42
  rake (10.5.0)
30
- regexp_parser (2.6.1)
31
- rexml (3.2.5)
32
- rspec (3.12.0)
33
- rspec-core (~> 3.12.0)
34
- rspec-expectations (~> 3.12.0)
35
- rspec-mocks (~> 3.12.0)
36
- rspec-core (3.12.0)
37
- rspec-support (~> 3.12.0)
38
- rspec-expectations (3.12.1)
43
+ regexp_parser (2.9.2)
44
+ rspec (3.13.0)
45
+ rspec-core (~> 3.13.0)
46
+ rspec-expectations (~> 3.13.0)
47
+ rspec-mocks (~> 3.13.0)
48
+ rspec-core (3.13.1)
49
+ rspec-support (~> 3.13.0)
50
+ rspec-expectations (3.13.3)
39
51
  diff-lcs (>= 1.2.0, < 2.0)
40
- rspec-support (~> 3.12.0)
41
- rspec-mocks (3.12.1)
52
+ rspec-support (~> 3.13.0)
53
+ rspec-mocks (3.13.1)
42
54
  diff-lcs (>= 1.2.0, < 2.0)
43
- rspec-support (~> 3.12.0)
44
- rspec-support (3.12.0)
45
- rubocop (1.41.1)
55
+ rspec-support (~> 3.13.0)
56
+ rspec-support (3.13.1)
57
+ rubocop (1.66.1)
46
58
  json (~> 2.3)
59
+ language_server-protocol (>= 3.17.0)
47
60
  parallel (~> 1.10)
48
- parser (>= 3.1.2.1)
61
+ parser (>= 3.3.0.2)
49
62
  rainbow (>= 2.2.2, < 4.0)
50
- regexp_parser (>= 1.8, < 3.0)
51
- rexml (>= 3.2.5, < 4.0)
52
- rubocop-ast (>= 1.23.0, < 2.0)
63
+ regexp_parser (>= 2.4, < 3.0)
64
+ rubocop-ast (>= 1.32.2, < 2.0)
53
65
  ruby-progressbar (~> 1.7)
54
- unicode-display_width (>= 1.4.0, < 3.0)
55
- rubocop-ast (1.24.1)
56
- parser (>= 3.1.1.0)
57
- rubocop-performance (1.15.2)
58
- rubocop (>= 1.7.0, < 2.0)
59
- rubocop-ast (>= 0.4.0)
66
+ unicode-display_width (>= 2.4.0, < 3.0)
67
+ rubocop-ast (1.32.3)
68
+ parser (>= 3.3.1.0)
69
+ rubocop-performance (1.22.1)
70
+ rubocop (>= 1.48.1, < 2.0)
71
+ rubocop-ast (>= 1.31.1, < 2.0)
60
72
  rubocop-rake (0.6.0)
61
73
  rubocop (~> 1.0)
62
- rubocop-rspec (2.16.0)
63
- rubocop (~> 1.33)
64
- ruby-progressbar (1.11.0)
74
+ rubocop-rspec (3.0.5)
75
+ rubocop (~> 1.61)
76
+ ruby-progressbar (1.13.0)
77
+ securerandom (0.3.1)
65
78
  simplecov (0.22.0)
66
79
  docile (~> 1.1)
67
80
  simplecov-html (~> 0.11)
68
81
  simplecov_json_formatter (~> 0.1)
69
- simplecov-html (0.12.3)
82
+ simplecov-html (0.13.1)
70
83
  simplecov_json_formatter (0.1.4)
71
- tzinfo (2.0.5)
84
+ tzinfo (2.0.6)
72
85
  concurrent-ruby (~> 1.0)
73
- unicode-display_width (2.3.0)
74
- webrick (1.7.0)
75
- yard (0.9.28)
76
- webrick (~> 1.7.0)
77
- zeitwerk (2.6.6)
86
+ unicode-display_width (2.6.0)
87
+ yard (0.9.37)
78
88
 
79
89
  PLATFORMS
90
+ ruby
80
91
  x86_64-linux
81
92
 
82
93
  DEPENDENCIES
83
- activesupport (~> 6.0)
94
+ activesupport (~> 7.2)
84
95
  bundler
85
96
  byebug
86
97
  rack
data/README.md CHANGED
@@ -6,7 +6,9 @@
6
6
  **This is a work in progress** but you're welcome to help, test, submit
7
7
  issues, ...
8
8
 
9
- **Note** For Rails 5, use version 0.2.3
9
+ **Note**
10
+ - For Rails 5, use version 0.2.3
11
+ - For Rails 6/ruby 2.7, use version 0.7
10
12
 
11
13
  ## Installation
12
14
 
@@ -79,6 +81,10 @@ require 'support/rspec_rails_api'
79
81
  # Server URL for quick reference
80
82
  server_url = 'https://example.com'
81
83
 
84
+ # Optional custom expected content type; default is "application/json; charset=utf-8".
85
+ # Note that rails adds the charset in the header.
86
+ # RSpec::Rails::Api::Metadata.default_expected_content_type = "application/json+custom; charset=utf-8"
87
+
82
88
  # Options here should be present for a valid OpenAPI file
83
89
  renderer.api_title = 'MyProject API'
84
90
  renderer.api_version = '1'
@@ -546,7 +552,7 @@ on_post '/api/items' do
546
552
  end
547
553
  ```
548
554
 
549
- ##### `for_code(http_status, description = nil, test_only: false &block)`
555
+ ##### `for_code(http_status, description = nil, test_only: false, with_content_type: nil &block)`
550
556
 
551
557
  Describes the desired output for a precedently defined URL.
552
558
 
@@ -66,7 +66,7 @@ module RSpec
66
66
  # @param expected_code [Number] Code to test for
67
67
  # @param ignore_content_type [Boolean] Whether to ignore the response's content-type for
68
68
  # this response only
69
- def check_response(response, expected_code, ignore_content_type: false) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity
69
+ def check_response(response, expected_code, ignore_content_type: false) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
70
70
  code_error_message = if response.status != expected_code && response.status == 422
71
71
  <<~TXT
72
72
  expected: #{expected_code}
@@ -77,7 +77,8 @@ module RSpec
77
77
 
78
78
  expect(response.status).to eq(expected_code), code_error_message
79
79
  if expected_code != 204 && !ignore_content_type
80
- expect(response.headers['Content-Type'].downcase).to eq 'application/json; charset=utf-8'
80
+ content_type = rra_current_example[:expectations][:content_type] || RSpec::Rails::Api::Metadata.default_expected_content_type # rubocop:disable Layout/LineLength
81
+ expect(response.headers['Content-Type'].downcase).to eq content_type
81
82
  end
82
83
  expectations = rra_current_example[:expectations]
83
84
  expect(response).to have_many defined(expectations[:many]) if expectations[:many]
@@ -154,7 +155,7 @@ module RSpec
154
155
  # Use everything else in query string
155
156
  uri = URI.parse(url)
156
157
  query_params = request_params.select { |k| used_path_params.exclude? k }
157
- uri.query = URI.encode_www_form(query_params) unless query_params.blank?
158
+ uri.query = URI.encode_www_form(query_params) if query_params.present?
158
159
 
159
160
  uri.to_s
160
161
  end
@@ -96,8 +96,8 @@ module RSpec
96
96
  # @param [String] description Longer description
97
97
  #
98
98
  # @return [void]
99
- def on_get(url, summary = nil, description = nil, &block)
100
- on_action(:get, url, summary, description, &block)
99
+ def on_get(url, summary = nil, description = nil, &)
100
+ on_action(:get, url, summary, description, &)
101
101
  end
102
102
 
103
103
  ##
@@ -108,8 +108,8 @@ module RSpec
108
108
  # @param [String] description Longer description
109
109
  #
110
110
  # @return [void]
111
- def on_post(url, summary = nil, description = nil, &block)
112
- on_action(:post, url, summary, description, &block)
111
+ def on_post(url, summary = nil, description = nil, &)
112
+ on_action(:post, url, summary, description, &)
113
113
  end
114
114
 
115
115
  ##
@@ -120,8 +120,8 @@ module RSpec
120
120
  # @param [String] description Longer description
121
121
  #
122
122
  # @return [void]
123
- def on_put(url, summary = nil, description = nil, &block)
124
- on_action(:put, url, summary, description, &block)
123
+ def on_put(url, summary = nil, description = nil, &)
124
+ on_action(:put, url, summary, description, &)
125
125
  end
126
126
 
127
127
  ##
@@ -132,8 +132,8 @@ module RSpec
132
132
  # @param [String] description Longer description
133
133
  #
134
134
  # @return [void]
135
- def on_patch(url, summary = nil, description = nil, &block)
136
- on_action(:patch, url, summary, description, &block)
135
+ def on_patch(url, summary = nil, description = nil, &)
136
+ on_action(:patch, url, summary, description, &)
137
137
  end
138
138
 
139
139
  ##
@@ -144,27 +144,28 @@ module RSpec
144
144
  # @param [String] description Longer description
145
145
  #
146
146
  # @return [void]
147
- def on_delete(url, summary = nil, description = nil, &block)
148
- on_action(:delete, url, summary, description, &block)
147
+ def on_delete(url, summary = nil, description = nil, &)
148
+ on_action(:delete, url, summary, description, &)
149
149
  end
150
150
 
151
151
  ##
152
152
  # Adds an HTTP code declaration to metadata, with expected result
153
153
  # If no expectation is provided, the response will be expected to be empty
154
154
  #
155
- # @param status_code [Number] Status code to test for
156
- # @param description [String] Description of the route/status pair
157
- # @param expect_many [Symbol] Check the response for a list of given entity
158
- # @param expect_one [Symbol] Check the response for a given entity
159
- # @param test_only [Boolean] When true, test the response without filling the documentation
155
+ # @param status_code [Number] Status code to test for
156
+ # @param description [String] Description of the route/status pair
157
+ # @param expect_many [Symbol] Check the response for a list of given entity
158
+ # @param expect_one [Symbol] Check the response for a given entity
159
+ # @param with_content_type [String, nil] Check for a custom content type instead of using de default one
160
+ # @param test_only [Boolean] When true, test the response without filling the documentation
160
161
  #
161
162
  # @return [void]
162
163
  #
163
- def for_code(status_code, description = nil, expect_many: nil, expect_one: false, test_only: false, &block)
164
+ def for_code(status_code, description = nil, expect_many: nil, expect_one: false, test_only: false, with_content_type: nil, &block) # rubocop:disable Layout/LineLength, Metrics/ParameterLists
164
165
  description ||= Rack::Utils::HTTP_STATUS_CODES[status_code]
165
166
 
166
167
  metadata[:rra].add_status_code(status_code, description) unless test_only
167
- metadata[:rra].add_expectations(expect_one, expect_many)
168
+ metadata[:rra].add_expectations(expect_one, expect_many, content_type: with_content_type)
168
169
  metadata[:rra_current_example] = metadata[:rra].current_example
169
170
 
170
171
  describe "->#{test_only ? ' test' : ''} #{status_code} - #{description}" do
@@ -183,10 +184,10 @@ module RSpec
183
184
  # @param [String, nil] description Longer description
184
185
  #
185
186
  # @return [void]
186
- def on_action(action, url, summary, description, &block)
187
+ def on_action(action, url, summary, description, &)
187
188
  metadata[:rra].add_action(action, url, summary, description)
188
189
 
189
- describe("#{action.upcase} #{url}", &block)
190
+ describe("#{action.upcase} #{url}", &)
190
191
  end
191
192
 
192
193
  ##
@@ -47,6 +47,14 @@ module RSpec
47
47
  def reset
48
48
  @entities = {}
49
49
  end
50
+
51
+ def default_expected_content_type
52
+ @default_expected_content_type ||= 'application/json; charset=utf-8'
53
+ end
54
+
55
+ def default_expected_content_type=(value)
56
+ @default_expected_content_type = value.downcase
57
+ end
50
58
  end
51
59
 
52
60
  ##
@@ -202,9 +210,10 @@ module RSpec
202
210
  #
203
211
  # @param one [Hash, nil] Entity definition
204
212
  # @param many [Hash, nil] Entity definition
213
+ # @param content_type [String, nil] Custom content type
205
214
  #
206
215
  # @return [void]
207
- def add_expectations(one, many)
216
+ def add_expectations(one, many, content_type: nil)
208
217
  check_current_context :resource, :url, :method, :code
209
218
  none = !many && !one
210
219
 
@@ -212,9 +221,10 @@ module RSpec
212
221
  Utils.deep_set(@resources,
213
222
  [@current_resource, 'paths', @current_url, 'actions', @current_method, 'statuses', @current_code, 'expectations'],
214
223
  {
215
- one: one,
216
- many: many,
217
- none: none,
224
+ one: one,
225
+ many: many,
226
+ none: none,
227
+ content_type: content_type,
218
228
  })
219
229
  # rubocop:enable Layout/LineLength
220
230
  end
@@ -213,12 +213,9 @@ module RSpec
213
213
  #
214
214
  # @param params [Hash] Path parameters
215
215
  def process_path_params(params)
216
- parameters = []
217
- params.each do |name, param|
218
- parameters.push process_path_param name, param
216
+ params.map do |name, param|
217
+ process_path_param name, param
219
218
  end
220
-
221
- parameters
222
219
  end
223
220
 
224
221
  def process_entity(entity) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
@@ -248,7 +245,7 @@ module RSpec
248
245
  schema[:properties][name] = property
249
246
  end
250
247
 
251
- schema[:required] = required unless required.size.zero?
248
+ schema[:required] = required unless required.empty?
252
249
 
253
250
  schema
254
251
  end
@@ -59,7 +59,7 @@ module RSpec
59
59
  # @param values [String] JSON string representing the value
60
60
  #
61
61
  # @return [String]
62
- def format_failure_message(errors, values)
62
+ def format_failure_message(errors, values) # rubocop:disable Metrics/MethodLength
63
63
  if errors.is_a? Hash
64
64
  errors = errors.deep_stringify_keys.to_yaml.split("\n")
65
65
  errors.shift
@@ -3,7 +3,7 @@
3
3
  module RSpec
4
4
  module Rails
5
5
  module Api
6
- VERSION = '0.7.0'
6
+ VERSION = '0.8.0'
7
7
  end
8
8
  end
9
9
  end
@@ -33,18 +33,5 @@ Gem::Specification.new do |spec|
33
33
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
34
34
  spec.require_paths = ['lib']
35
35
 
36
- spec.required_ruby_version = '>= 2.7.0'
37
-
38
- spec.add_development_dependency 'activesupport', '~> 6.0'
39
- spec.add_development_dependency 'bundler'
40
- spec.add_development_dependency 'byebug'
41
- spec.add_development_dependency 'rack'
42
- spec.add_development_dependency 'rake', '~> 10.0'
43
- spec.add_development_dependency 'rspec', '~> 3.0'
44
- spec.add_development_dependency 'rubocop'
45
- spec.add_development_dependency 'rubocop-performance'
46
- spec.add_development_dependency 'rubocop-rake'
47
- spec.add_development_dependency 'rubocop-rspec'
48
- spec.add_development_dependency 'simplecov'
49
- spec.add_development_dependency 'yard'
36
+ spec.required_ruby_version = '>= 3.1.2'
50
37
  end
metadata CHANGED
@@ -1,183 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-rails-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manuel Tancoigne
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-02 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: activesupport
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '6.0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '6.0'
27
- - !ruby/object:Gem::Dependency
28
- name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: byebug
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: rack
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rake
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '10.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '10.0'
83
- - !ruby/object:Gem::Dependency
84
- name: rspec
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '3.0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '3.0'
97
- - !ruby/object:Gem::Dependency
98
- name: rubocop
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: rubocop-performance
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: rubocop-rake
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: rubocop-rspec
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: simplecov
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: yard
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: '0'
11
+ date: 2024-09-28 00:00:00.000000000 Z
12
+ dependencies: []
181
13
  description: |
182
14
  Create acceptance tests to check the Rails API responses and generate
183
15
  documentation from it.
@@ -230,14 +62,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
230
62
  requirements:
231
63
  - - ">="
232
64
  - !ruby/object:Gem::Version
233
- version: 2.7.0
65
+ version: 3.1.2
234
66
  required_rubygems_version: !ruby/object:Gem::Requirement
235
67
  requirements:
236
68
  - - ">="
237
69
  - !ruby/object:Gem::Version
238
70
  version: '0'
239
71
  requirements: []
240
- rubygems_version: 3.4.1
72
+ rubygems_version: 3.4.15
241
73
  signing_key:
242
74
  specification_version: 4
243
75
  summary: Tests standard Rails API responses and generate doc