openapi_first 0.6.5 → 0.6.6

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: 035e8a92e6ae6b8817bc3660141c33807d2b813ea79ccdaf045056947b37ed2b
4
- data.tar.gz: 7e776d7b8d66a5c36a2d70fc73043b648c1d8fb034563064b35963e95aa8732d
3
+ metadata.gz: 350892d725288c6799c622640c8ae33aebfadc12484d6fa577d4244686c9ea0e
4
+ data.tar.gz: 9bd806ad99abeb2fe4778469f89835e18cce6af0e0ebfe6ced69f7115a847dfb
5
5
  SHA512:
6
- metadata.gz: 8d196918a2091123c0ad50da1a631da01a2b4923117400dedf01047cb12094375595bde9297de6887cd188258f6b2cb1acdea6a5d2b6af2551077a5788fc9ee2
7
- data.tar.gz: 8289e602befcfa2d7e8aef2adf0c4d3663d624b68d002b2d3fd8ceb9266b20213cfeeca8191f8c84b76ce8d2b3dfe9fefe911d3673ad5b25a3263d5ddd377b5f
6
+ metadata.gz: da2d420704d001650bd8a08ce845b6eaa3766ca933cb9864bf2c1e09b908dac0fea600e8e6c2b9632b04a0b45e21cdd8eff60aea1cc1778a12fd90abb6976806
7
+ data.tar.gz: 7cfc0228fb4cba90caa2fba005ec08c292059eb733c80090a11aeb5a6e6eb90163a8a1856fc056a57a9a9a000113f77c834ccf00911a21975d7996848b60cf55
data/.travis.yml CHANGED
@@ -3,5 +3,6 @@ sudo: false
3
3
  language: ruby
4
4
  cache: bundler
5
5
  rvm:
6
- - 2.6.1
7
- before_install: gem install bundler -v 2.0.1
6
+ - 2.7.0
7
+ before_install: gem install bundler -v 2.1.4
8
+ install: bundle install --jobs=3 --retry=3
data/CHANGELOG.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.6.6
6
+ - Remove warnings for Ruby 2.7
7
+
5
8
  ## 0.6.5
6
9
 
7
10
  - Merge QueryParameterValidation and ReqestBodyValidation middlewares into RequestValidation
data/Gemfile.lock CHANGED
@@ -1,25 +1,25 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- openapi_first (0.6.5)
4
+ openapi_first (0.6.6)
5
5
  json_schemer (~> 0.2)
6
6
  multi_json (~> 1.13)
7
- oas_parser (~> 0.19)
8
- rack (~> 2)
7
+ oas_parser (~> 0.2)
8
+ rack (~> 2.1)
9
9
 
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activesupport (6.0.0)
13
+ activesupport (6.0.2.1)
14
14
  concurrent-ruby (~> 1.0, >= 1.0.2)
15
15
  i18n (>= 0.7, < 2)
16
16
  minitest (~> 5.1)
17
17
  tzinfo (~> 1.1)
18
- zeitwerk (~> 2.1, >= 2.1.8)
18
+ zeitwerk (~> 2.2)
19
19
  addressable (2.7.0)
20
20
  public_suffix (>= 2.0.2, < 5.0)
21
21
  ast (2.4.0)
22
- builder (3.2.3)
22
+ builder (3.2.4)
23
23
  coderay (1.1.2)
24
24
  concurrent-ruby (1.1.5)
25
25
  deep_merge (1.2.1)
@@ -29,9 +29,9 @@ GEM
29
29
  hana (1.3.5)
30
30
  hansi (0.2.0)
31
31
  hash-deep-merge (0.1.1)
32
- i18n (1.7.0)
32
+ i18n (1.8.2)
33
33
  concurrent-ruby (~> 1.0)
34
- jaro_winkler (1.5.3)
34
+ jaro_winkler (1.5.4)
35
35
  json_schemer (0.2.8)
36
36
  ecma-re-validator (~> 0.2)
37
37
  hana (~> 1.3)
@@ -39,15 +39,15 @@ GEM
39
39
  uri_template (~> 0.7)
40
40
  method_source (0.9.2)
41
41
  mini_portile2 (2.4.0)
42
- minitest (5.12.2)
42
+ minitest (5.14.0)
43
43
  multi_json (1.14.1)
44
44
  mustermann (1.0.3)
45
45
  mustermann-contrib (1.0.3)
46
46
  hansi (~> 0.2.0)
47
47
  mustermann (= 1.0.3)
48
- nokogiri (1.10.4)
48
+ nokogiri (1.10.7)
49
49
  mini_portile2 (~> 2.4.0)
50
- oas_parser (0.22.2)
50
+ oas_parser (0.23.0)
51
51
  activesupport (>= 4.0.0)
52
52
  addressable (~> 2.3)
53
53
  builder (~> 3.2.3)
@@ -55,46 +55,46 @@ GEM
55
55
  hash-deep-merge
56
56
  mustermann-contrib (~> 1.0.3s)
57
57
  nokogiri
58
- parallel (1.17.0)
59
- parser (2.6.3.0)
58
+ parallel (1.19.1)
59
+ parser (2.7.0.2)
60
60
  ast (~> 2.4.0)
61
61
  pry (0.12.2)
62
62
  coderay (~> 1.1.0)
63
63
  method_source (~> 0.9.0)
64
- public_suffix (4.0.1)
65
- rack (2.0.7)
64
+ public_suffix (4.0.3)
65
+ rack (2.1.1)
66
66
  rack-test (1.1.0)
67
67
  rack (>= 1.0, < 3)
68
68
  rainbow (3.0.0)
69
69
  rake (10.5.0)
70
70
  regexp_parser (1.6.0)
71
- rspec (3.8.0)
72
- rspec-core (~> 3.8.0)
73
- rspec-expectations (~> 3.8.0)
74
- rspec-mocks (~> 3.8.0)
75
- rspec-core (3.8.2)
76
- rspec-support (~> 3.8.0)
77
- rspec-expectations (3.8.4)
71
+ rspec (3.9.0)
72
+ rspec-core (~> 3.9.0)
73
+ rspec-expectations (~> 3.9.0)
74
+ rspec-mocks (~> 3.9.0)
75
+ rspec-core (3.9.1)
76
+ rspec-support (~> 3.9.1)
77
+ rspec-expectations (3.9.0)
78
78
  diff-lcs (>= 1.2.0, < 2.0)
79
- rspec-support (~> 3.8.0)
80
- rspec-mocks (3.8.1)
79
+ rspec-support (~> 3.9.0)
80
+ rspec-mocks (3.9.1)
81
81
  diff-lcs (>= 1.2.0, < 2.0)
82
- rspec-support (~> 3.8.0)
83
- rspec-support (3.8.2)
84
- rubocop (0.72.0)
82
+ rspec-support (~> 3.9.0)
83
+ rspec-support (3.9.2)
84
+ rubocop (0.79.0)
85
85
  jaro_winkler (~> 1.5.1)
86
86
  parallel (~> 1.10)
87
- parser (>= 2.6)
87
+ parser (>= 2.7.0.1)
88
88
  rainbow (>= 2.2.2, < 4.0)
89
89
  ruby-progressbar (~> 1.7)
90
90
  unicode-display_width (>= 1.4.0, < 1.7)
91
91
  ruby-progressbar (1.10.1)
92
92
  thread_safe (0.3.6)
93
- tzinfo (1.2.5)
93
+ tzinfo (1.2.6)
94
94
  thread_safe (~> 0.1)
95
- unicode-display_width (1.6.0)
95
+ unicode-display_width (1.6.1)
96
96
  uri_template (0.7.0)
97
- zeitwerk (2.2.0)
97
+ zeitwerk (2.2.2)
98
98
 
99
99
  PLATFORMS
100
100
  ruby
@@ -109,4 +109,4 @@ DEPENDENCIES
109
109
  rubocop
110
110
 
111
111
  BUNDLED WITH
112
- 2.0.2
112
+ 2.1.4
data/README.md CHANGED
@@ -1,12 +1,11 @@
1
1
  # OpenapiFirst
2
2
 
3
- OpenapiFirst helps to implement HTTP APIs based on an [OpenApi](https://www.openapis.org/) API description. The idea is that you create an API description first, then add minimal code about your business logic (some call this "handler") and be done.
3
+ OpenapiFirst helps to implement HTTP APIs based on an [OpenApi](https://www.openapis.org/) API description. The idea is that you create an API description first, then add a method that returns data and implements your business logic and be done.
4
4
 
5
5
  ## TL;DR
6
6
 
7
7
  Start with writing an OpenAPI file that describes the API, which you are about to write. Use a [validator](http://speccy.io/) to make sure the file is valid.
8
-
9
- We recommend saving the file as `openapi/openapi.yaml`.
8
+ In the following examples, the OpenAPI file is named `openapi/openapi.yaml`.
10
9
 
11
10
  Now implement your API:
12
11
 
@@ -31,7 +30,7 @@ The above will:
31
30
  - Map the request to a method call `Pets.find_pet` based on the `operationId` in the API description
32
31
  - Set the response content type according to your spec (here with the default status code `200`)
33
32
 
34
- Resolver functions (`find_pet`) are called with two arguments:
33
+ Handler functions (`find_pet`) are called with two arguments:
35
34
 
36
35
  - `params` - Holds the parsed request body, filtered query params and path parameters
37
36
  - `res` - Holds a Rack::Response that you can modify if needed
@@ -1,52 +1,81 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- openapi_first (0.6.4)
4
+ openapi_first (0.6.5)
5
5
  json_schemer (~> 0.2)
6
6
  multi_json (~> 1.13)
7
- oas_parser (~> 0.19)
8
- rack (~> 2)
7
+ oas_parser (~> 0.2)
8
+ rack (~> 2.1)
9
9
 
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activesupport (6.0.0)
13
+ activesupport (6.0.2.1)
14
14
  concurrent-ruby (~> 1.0, >= 1.0.2)
15
15
  i18n (>= 0.7, < 2)
16
16
  minitest (~> 5.1)
17
17
  tzinfo (~> 1.1)
18
- zeitwerk (~> 2.1, >= 2.1.8)
18
+ zeitwerk (~> 2.2)
19
19
  addressable (2.7.0)
20
20
  public_suffix (>= 2.0.2, < 5.0)
21
- axiom-types (0.1.1)
22
- descendants_tracker (~> 0.0.4)
23
- ice_nine (~> 0.11.0)
24
- thread_safe (~> 0.3, >= 0.3.1)
25
21
  benchmark-ips (2.7.2)
26
22
  benchmark-memory (0.1.2)
27
23
  memory_profiler (~> 0.9)
28
- builder (3.2.3)
29
- coercible (1.0.0)
30
- descendants_tracker (~> 0.0.1)
31
- committee (3.2.1)
24
+ builder (3.2.4)
25
+ coderay (1.1.2)
26
+ committee (3.3.0)
32
27
  json_schema (~> 0.14, >= 0.14.3)
33
28
  openapi_parser (>= 0.6.1)
34
29
  rack (>= 1.5)
35
30
  concurrent-ruby (1.1.5)
36
31
  deep_merge (1.2.1)
37
- descendants_tracker (0.0.4)
38
- thread_safe (~> 0.3, >= 0.3.1)
32
+ diff-lcs (1.3)
33
+ dry-configurable (0.9.0)
34
+ concurrent-ruby (~> 1.0)
35
+ dry-core (~> 0.4, >= 0.4.7)
36
+ dry-container (0.7.2)
37
+ concurrent-ruby (~> 1.0)
38
+ dry-configurable (~> 0.1, >= 0.1.3)
39
+ dry-core (0.4.9)
40
+ concurrent-ruby (~> 1.0)
41
+ dry-equalizer (0.3.0)
39
42
  dry-inflector (0.2.0)
43
+ dry-logic (1.0.5)
44
+ concurrent-ruby (~> 1.0)
45
+ dry-core (~> 0.2)
46
+ dry-equalizer (~> 0.2)
47
+ dry-types (1.2.2)
48
+ concurrent-ruby (~> 1.0)
49
+ dry-container (~> 0.3)
50
+ dry-core (~> 0.4, >= 0.4.4)
51
+ dry-equalizer (~> 0.3)
52
+ dry-inflector (~> 0.1, >= 0.1.2)
53
+ dry-logic (~> 1.0, >= 1.0.2)
40
54
  ecma-re-validator (0.2.0)
41
55
  regexp_parser (~> 1.2)
42
- equalizer (0.0.11)
43
- grape (1.2.4)
56
+ ffi (1.12.1)
57
+ formatador (0.2.5)
58
+ grape (1.3.0)
44
59
  activesupport
45
60
  builder
61
+ dry-types (>= 1.1)
46
62
  mustermann-grape (~> 1.0.0)
47
63
  rack (>= 1.3.0)
48
64
  rack-accept
49
- virtus (>= 1.0.0)
65
+ guard (2.16.1)
66
+ formatador (>= 0.2.4)
67
+ listen (>= 2.7, < 4.0)
68
+ lumberjack (>= 1.0.12, < 2.0)
69
+ nenv (~> 0.1)
70
+ notiffany (~> 0.0)
71
+ pry (>= 0.9.12)
72
+ shellany (~> 0.0)
73
+ thor (>= 0.18.1)
74
+ guard-compat (1.2.1)
75
+ guard-rspec (4.7.3)
76
+ guard (~> 2.1)
77
+ guard-compat (~> 1.1)
78
+ rspec (>= 2.99.0, < 4.0)
50
79
  hana (1.3.5)
51
80
  hanami-router (2.0.0.alpha1)
52
81
  dry-inflector (~> 0.1)
@@ -58,65 +87,84 @@ GEM
58
87
  concurrent-ruby (~> 1.0)
59
88
  transproc (~> 1.0)
60
89
  hansi (0.2.0)
61
- hash-deep-merge (0.1.1)
62
- i18n (1.7.0)
90
+ i18n (1.8.2)
63
91
  concurrent-ruby (~> 1.0)
64
- ice_nine (0.11.2)
65
- json_schema (0.20.8)
66
- json_schemer (0.2.7)
92
+ json_schema (0.15.0)
93
+ json_schemer (0.2.8)
67
94
  ecma-re-validator (~> 0.2)
68
95
  hana (~> 1.3)
69
96
  regexp_parser (~> 1.5)
70
97
  uri_template (~> 0.7)
98
+ listen (3.2.1)
99
+ rb-fsevent (~> 0.10, >= 0.10.3)
100
+ rb-inotify (~> 0.9, >= 0.9.10)
101
+ lumberjack (1.1.1)
71
102
  memory_profiler (0.9.14)
72
- mini_portile2 (2.4.0)
73
- minitest (5.12.2)
103
+ method_source (0.9.2)
104
+ minitest (5.14.0)
74
105
  multi_json (1.14.1)
75
- mustermann (1.0.3)
76
- mustermann-contrib (1.0.3)
106
+ mustermann (1.1.1)
107
+ ruby2_keywords (~> 0.0.1)
108
+ mustermann-contrib (1.1.1)
77
109
  hansi (~> 0.2.0)
78
- mustermann (= 1.0.3)
79
- mustermann-grape (1.0.0)
80
- mustermann (~> 1.0.0)
81
- nokogiri (1.10.4)
82
- mini_portile2 (~> 2.4.0)
83
- oas_parser (0.22.2)
84
- activesupport (>= 4.0.0)
110
+ mustermann (= 1.1.1)
111
+ mustermann-grape (1.0.1)
112
+ mustermann (>= 1.0.0)
113
+ nenv (0.3.0)
114
+ notiffany (0.1.3)
115
+ nenv (~> 0.1)
116
+ shellany (~> 0.0)
117
+ oas_parser (0.2.0)
85
118
  addressable (~> 2.3)
86
- builder (~> 3.2.3)
87
119
  deep_merge (~> 1.2.1)
88
- hash-deep-merge
89
- mustermann-contrib (~> 1.0.3s)
90
- nokogiri
91
- openapi_parser (0.6.1)
92
- public_suffix (4.0.1)
93
- rack (2.0.7)
120
+ guard-rspec (~> 4.7.3)
121
+ json_schema (~> 0.15.0)
122
+ openapi_parser (0.7.0)
123
+ pry (0.12.2)
124
+ coderay (~> 1.1.0)
125
+ method_source (~> 0.9.0)
126
+ public_suffix (4.0.3)
127
+ rack (2.1.1)
94
128
  rack-accept (0.4.5)
95
129
  rack (>= 0.4)
96
- rack-protection (2.0.7)
130
+ rack-protection (2.0.8.1)
97
131
  rack
132
+ rb-fsevent (0.10.3)
133
+ rb-inotify (0.10.1)
134
+ ffi (~> 1.0)
98
135
  regexp_parser (1.6.0)
136
+ rspec (3.9.0)
137
+ rspec-core (~> 3.9.0)
138
+ rspec-expectations (~> 3.9.0)
139
+ rspec-mocks (~> 3.9.0)
140
+ rspec-core (3.9.1)
141
+ rspec-support (~> 3.9.1)
142
+ rspec-expectations (3.9.0)
143
+ diff-lcs (>= 1.2.0, < 2.0)
144
+ rspec-support (~> 3.9.0)
145
+ rspec-mocks (3.9.1)
146
+ diff-lcs (>= 1.2.0, < 2.0)
147
+ rspec-support (~> 3.9.0)
148
+ rspec-support (3.9.2)
149
+ ruby2_keywords (0.0.2)
99
150
  seg (1.2.0)
100
- sinatra (2.0.7)
151
+ shellany (0.0.1)
152
+ sinatra (2.0.8.1)
101
153
  mustermann (~> 1.0)
102
154
  rack (~> 2.0)
103
- rack-protection (= 2.0.7)
155
+ rack-protection (= 2.0.8.1)
104
156
  tilt (~> 2.0)
105
157
  syro (3.1.1)
106
158
  rack (>= 1.6.0)
107
159
  seg
160
+ thor (1.0.1)
108
161
  thread_safe (0.3.6)
109
162
  tilt (2.0.10)
110
- transproc (1.1.0)
111
- tzinfo (1.2.5)
163
+ transproc (1.1.1)
164
+ tzinfo (1.2.6)
112
165
  thread_safe (~> 0.1)
113
166
  uri_template (0.7.0)
114
- virtus (1.0.5)
115
- axiom-types (~> 0.1)
116
- coercible (~> 1.0)
117
- descendants_tracker (~> 0.0, >= 0.0.3)
118
- equalizer (~> 0.0, >= 0.0.9)
119
- zeitwerk (2.2.0)
167
+ zeitwerk (2.2.2)
120
168
 
121
169
  PLATFORMS
122
170
  ruby
@@ -133,4 +181,4 @@ DEPENDENCIES
133
181
  syro
134
182
 
135
183
  BUNDLED WITH
136
- 2.0.2
184
+ 2.1.4
data/lib/openapi_first.rb CHANGED
@@ -26,7 +26,7 @@ module OpenapiFirst
26
26
 
27
27
  def self.app(spec, namespace:)
28
28
  spec = OpenapiFirst.load(spec) if spec.is_a?(String)
29
- App.new(spec, namespace: namespace)
29
+ App.new(nil, spec, namespace: namespace)
30
30
  end
31
31
 
32
32
  def self.middleware(spec, namespace:)
@@ -35,12 +35,13 @@ module OpenapiFirst
35
35
  end
36
36
 
37
37
  class AppWithOptions
38
- def initialize(*options)
38
+ def initialize(spec, options)
39
+ @spec = spec
39
40
  @options = options
40
41
  end
41
42
 
42
43
  def new(app)
43
- App.new(app, *@options)
44
+ App.new(app, @spec, **@options)
44
45
  end
45
46
  end
46
47
 
@@ -5,12 +5,13 @@ require 'rack'
5
5
  module OpenapiFirst
6
6
  class App
7
7
  def initialize(
8
- app = nil, # rubocop:disable Style/OptionalArguments
8
+ app,
9
9
  spec,
10
10
  namespace:,
11
11
  allow_unknown_operation: !app.nil?
12
12
  )
13
- @stack = Rack::Builder.new do
13
+ @stack = Rack::Builder.app do
14
+ freeze_app
14
15
  use OpenapiFirst::Router,
15
16
  spec: spec,
16
17
  allow_unknown_operation: allow_unknown_operation
@@ -7,9 +7,9 @@ module OpenapiFirst
7
7
  NOT_FOUND = Rack::Response.new('', 404).finish.freeze
8
8
  DEFAULT_APP = ->(_env) { NOT_FOUND }
9
9
 
10
- def initialize(app = DEFAULT_APP, namespace:)
10
+ def initialize(app = DEFAULT_APP, options) # rubocop:disable Style/OptionalArguments
11
11
  @app = app
12
- @namespace = namespace
12
+ @namespace = options.fetch(:namespace)
13
13
  end
14
14
 
15
15
  def call(env) # rubocop:disable Metrics/AbcSize
@@ -8,9 +8,11 @@ require_relative 'validation_format'
8
8
 
9
9
  module OpenapiFirst
10
10
  class RequestValidation
11
- def initialize(app, allow_unknown_query_parameters: false)
11
+ def initialize(app, options = {})
12
12
  @app = app
13
- @allow_unknown_query_parameters = allow_unknown_query_parameters
13
+ @allow_unknown_query_parameters = options.fetch(
14
+ :allow_unknown_query_parameters, false
15
+ )
14
16
  end
15
17
 
16
18
  def call(env) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
@@ -125,9 +127,7 @@ module OpenapiFirst
125
127
  def serialize_query_parameter_errors(validation_errors)
126
128
  validation_errors.map do |error|
127
129
  {
128
- source: {
129
- parameter: File.basename(error['data_pointer'])
130
- }
130
+ source: { parameter: File.basename(error['data_pointer']) }
131
131
  }.update(ValidationFormat.error_details(error))
132
132
  end
133
133
  end
@@ -9,10 +9,10 @@ module OpenapiFirst
9
9
  class Router
10
10
  NOT_FOUND = Rack::Response.new('', 404).finish.freeze
11
11
 
12
- def initialize(app, spec:, allow_unknown_operation: false)
12
+ def initialize(app, options)
13
13
  @app = app
14
- @spec = spec
15
- @allow_unknown_operation = allow_unknown_operation
14
+ @spec = options.fetch(:spec)
15
+ @allow_unknown_operation = options.fetch(:allow_unknown_operation, false)
16
16
  end
17
17
 
18
18
  def call(env)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenapiFirst
4
- VERSION = '0.6.5'
4
+ VERSION = '0.6.6'
5
5
  end
@@ -16,6 +16,8 @@ Gem::Specification.new do |spec|
16
16
 
17
17
  if spec.respond_to?(:metadata)
18
18
  spec.metadata['https://github.com/ahx/openapi_first'] = spec.homepage
19
+ spec.metadata['source_code_uri'] = 'https://github.com/ahx/openapi_first'
20
+ spec.metadata['changelog_uri'] = 'https://github.com/ahx/openapi_first/blob/master/CHANGELOG.md'
19
21
  else
20
22
  raise 'RubyGems 2.0 or newer is required to protect against ' \
21
23
  'public gem pushes.'
@@ -25,15 +27,15 @@ Gem::Specification.new do |spec|
25
27
  `git ls-files -z`
26
28
  .split("\x0")
27
29
  .reject { |f| f.match(%r{^(test|spec|features)/}) }
28
- .reject { |f| %w[Dockerfile Jenkinsfile].include?(f) }
30
+ .reject { |f| %w[Dockerfile Jenkinsfile .tool-versions].include?(f) }
29
31
  end
30
32
  spec.bindir = 'exe'
31
33
  spec.require_paths = ['lib']
32
34
 
33
35
  spec.add_dependency 'json_schemer', '~> 0.2'
34
36
  spec.add_dependency 'multi_json', '~> 1.13'
35
- spec.add_dependency 'oas_parser', '~> 0.19'
36
- spec.add_dependency 'rack', '~> 2'
37
+ spec.add_dependency 'oas_parser', '~> 0.2'
38
+ spec.add_dependency 'rack', '~> 2.1'
37
39
 
38
40
  spec.add_development_dependency 'bundler', '~> 2.0'
39
41
  spec.add_development_dependency 'rack-test', '~> 1'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openapi_first
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.5
4
+ version: 0.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Haller
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-30 00:00:00.000000000 Z
11
+ date: 2020-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json_schemer
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.19'
47
+ version: '0.2'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.19'
54
+ version: '0.2'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rack
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '2'
61
+ version: '2.1'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '2'
68
+ version: '2.1'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -175,6 +175,8 @@ licenses:
175
175
  - MIT
176
176
  metadata:
177
177
  https://github.com/ahx/openapi_first: https://github.com/ahx/openapi_first
178
+ source_code_uri: https://github.com/ahx/openapi_first
179
+ changelog_uri: https://github.com/ahx/openapi_first/blob/master/CHANGELOG.md
178
180
  post_install_message:
179
181
  rdoc_options: []
180
182
  require_paths:
@@ -190,7 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
190
192
  - !ruby/object:Gem::Version
191
193
  version: '0'
192
194
  requirements: []
193
- rubygems_version: 3.0.3
195
+ rubygems_version: 3.1.2
194
196
  signing_key:
195
197
  specification_version: 4
196
198
  summary: Implement REST APIs based on OpenApi.