api-regulator 0.1.16 → 0.1.17

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: 60c81fb2bb5833ff9a4986bf2562130435a6b94318213688092a62040b4459dc
4
- data.tar.gz: 97a81bcd48c8515c3337804af36a7ad20d96fb5150b26221627a4708ab7d3b6e
3
+ metadata.gz: a47dad32fbf8cb59ba8f74f6f78d7bfd6ff3a69a1df21e7ebd81546267838db8
4
+ data.tar.gz: 4e735d0b0b66b8e671681a3c7e1c0f507fc440a33e2ed4f8a20562e6709ae84b
5
5
  SHA512:
6
- metadata.gz: 7b42e011a7af9d72be2cff39843028d088e5e0684de53d6feaf21a558ce8702aca2d81949596c8c7b797b330412e292c5a135e8ee7a39e9c3c1c46eab1c0ba96
7
- data.tar.gz: 10d8acda94aa29c3b3351f540b2f36136f7cc91803b62ba2d21bbd779a6e7807d31344e9779faaa4e3e3d0e59c6292f0fe372b25365f0c04bf1e646e37a8562f
6
+ metadata.gz: 3f0170ac751809bea9a71f1b3216a129446e433bc77bd30527a4ab17411c8dae8b795baa42e01afaa91f7259a4a8bab8cb4f327d18e9c735d48e7d90d1f7a31c
7
+ data.tar.gz: ccc6b5deba5c6ce6c2f291b3f81aefb0f199356cf15ca30f6dc354767b400d96531953a9c576977b73603b12a607879be5208d1577d6d9c0254a7651afafddef
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- api-regulator (0.1.16)
4
+ api-regulator (0.1.17)
5
5
  activemodel (~> 8.0)
6
6
  activesupport (~> 8.0)
7
7
 
@@ -38,13 +38,16 @@ module ApiRegulator
38
38
  @params << shared_param
39
39
  end
40
40
 
41
+ shared_schema.responses.each_value { |r| r.options[:desc] ||= r.desc }
41
42
  @responses.merge!(shared_schema.responses)
42
43
  end
43
44
 
44
45
  def response(status_code, description_or_options, &block)
45
46
  if description_or_options.is_a?(Hash) && description_or_options[:ref]
46
47
  # Reference to a shared schema
47
- @responses[status_code] = Param.new(:root, :object, ref: description_or_options[:ref], &block)
48
+ resp_ref = description_or_options[:ref]
49
+ resp_desc = description_or_options[:desc] || resp_ref
50
+ @responses[status_code] = Param.new(:root, :object, ref: resp_ref, desc: resp_desc, &block)
48
51
  else
49
52
  # Inline schema definition
50
53
  schema = Param.new(:root, :object, desc: description_or_options, &block)
@@ -177,7 +177,7 @@ module ApiRegulator
177
177
  raise "Shared schema not found for ref: #{schema.options[:ref]}" unless shared_schema
178
178
 
179
179
  responses[status_code.to_s] = {
180
- description: shared_schema.description.presence,
180
+ description: schema.options[:desc].presence || shared_schema.description.presence,
181
181
  content: {
182
182
  "application/json" => {
183
183
  schema: { "$ref" => "#/components/schemas/#{schema.options[:ref]}" }
@@ -18,7 +18,9 @@ module ApiRegulator
18
18
  def response(status_code, description_or_options, &block)
19
19
  if description_or_options.is_a?(Hash) && description_or_options[:ref]
20
20
  # Reference to a shared schema
21
- @responses[status_code] = Param.new(:root, :object, ref: description_or_options[:ref], &block)
21
+ resp_ref = description_or_options[:ref]
22
+ resp_desc = description_or_options[:desc] || resp_ref
23
+ @responses[status_code] = Param.new(:root, :object, ref: resp_ref, desc: resp_desc, &block)
22
24
  else
23
25
  # Inline schema definition
24
26
  schema = Param.new(:root, :object, desc: description_or_options, &block)
@@ -1,3 +1,3 @@
1
1
  module ApiRegulator
2
- VERSION = "0.1.16"
2
+ VERSION = "0.1.17"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api-regulator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geoff Massanek