openapi_parser 0.6.0 → 0.6.1
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:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 7480b22f5a7f1e12c9c1d2b21dbcc50b711bb06fba8f31e7cdff9f340f7f6fe8
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: d9fecd50469f7e3f8bf88cf5076c8b78df24a5d825920748f518bcbd38ca0677
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 18af5156bd11cd2388608f2c835cfc44a049f55e5729c25997d44a7e434f00f9278ea1b39ef5490044aa950252148585e101f021659d34fa023046af03f96401
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: e706defe789e26b503018653b8be22671a0155a2bbc39ac62c29603e7bd9a58f1cb923c9f7b51a858dde34ae06397860c1c68345828fff5be386866a2f6ca236
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,5 +1,10 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ## Unreleased
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            ## 0.6.1 (2019-10-12)
         
     | 
| 
      
 4 
     | 
    
         
            +
            * Bugfix: validate non-nullable response header #54
         
     | 
| 
      
 5 
     | 
    
         
            +
            * Improve grammar in error messages #55
         
     | 
| 
      
 6 
     | 
    
         
            +
            * fix object validator in case of properties missing #56
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
       3 
8 
     | 
    
         
             
            ## 0.6.0 (2019-10-05)
         
     | 
| 
       4 
9 
     | 
    
         
             
            * add email format validation on string #51
         
     | 
| 
       5 
10 
     | 
    
         | 
| 
         @@ -13,7 +13,7 @@ module OpenAPIParser 
     | 
|
| 
       13 
13 
     | 
    
         
             
                end
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                def message
         
     | 
| 
       16 
     | 
    
         
            -
                  "#{@ 
     | 
| 
      
 16 
     | 
    
         
            +
                  "#{@reference} expected #{@type}, but received #{@data.class}: #{@data}"
         
     | 
| 
       17 
17 
     | 
    
         
             
                end
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
                class << self
         
     | 
| 
         @@ -28,7 +28,7 @@ module OpenAPIParser 
     | 
|
| 
       28 
28 
     | 
    
         | 
| 
       29 
29 
     | 
    
         
             
              class NotNullError < OpenAPIError
         
     | 
| 
       30 
30 
     | 
    
         
             
                def message
         
     | 
| 
       31 
     | 
    
         
            -
                  "#{@reference}  
     | 
| 
      
 31 
     | 
    
         
            +
                  "#{@reference} does not allow null values"
         
     | 
| 
       32 
32 
     | 
    
         
             
                end
         
     | 
| 
       33 
33 
     | 
    
         
             
              end
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
         @@ -39,7 +39,7 @@ module OpenAPIParser 
     | 
|
| 
       39 
39 
     | 
    
         
             
                end
         
     | 
| 
       40 
40 
     | 
    
         | 
| 
       41 
41 
     | 
    
         
             
                def message
         
     | 
| 
       42 
     | 
    
         
            -
                  "required parameters #{@keys.join(",")} 
     | 
| 
      
 42 
     | 
    
         
            +
                  "#{@reference} missing required parameters: #{@keys.join(", ")}"
         
     | 
| 
       43 
43 
     | 
    
         
             
                end
         
     | 
| 
       44 
44 
     | 
    
         
             
              end
         
     | 
| 
       45 
45 
     | 
    
         | 
| 
         @@ -50,7 +50,7 @@ module OpenAPIParser 
     | 
|
| 
       50 
50 
     | 
    
         
             
                end
         
     | 
| 
       51 
51 
     | 
    
         | 
| 
       52 
52 
     | 
    
         
             
                def message
         
     | 
| 
       53 
     | 
    
         
            -
                  "properties #{@keys.join(",")} 
     | 
| 
      
 53 
     | 
    
         
            +
                  "#{@reference} does not define properties: #{@keys.join(", ")}"
         
     | 
| 
       54 
54 
     | 
    
         
             
                end
         
     | 
| 
       55 
55 
     | 
    
         
             
              end
         
     | 
| 
       56 
56 
     | 
    
         | 
| 
         @@ -117,7 +117,7 @@ module OpenAPIParser 
     | 
|
| 
       117 
117 
     | 
    
         
             
                end
         
     | 
| 
       118 
118 
     | 
    
         | 
| 
       119 
119 
     | 
    
         
             
                def message
         
     | 
| 
       120 
     | 
    
         
            -
                  "#{@value}  
     | 
| 
      
 120 
     | 
    
         
            +
                  "#{@reference} #{@value} is less than minimum value"
         
     | 
| 
       121 
121 
     | 
    
         
             
                end
         
     | 
| 
       122 
122 
     | 
    
         
             
              end
         
     | 
| 
       123 
123 
     | 
    
         | 
| 
         @@ -128,7 +128,7 @@ module OpenAPIParser 
     | 
|
| 
       128 
128 
     | 
    
         
             
                end
         
     | 
| 
       129 
129 
     | 
    
         | 
| 
       130 
130 
     | 
    
         
             
                def message
         
     | 
| 
       131 
     | 
    
         
            -
                  "#{@value} cannot be less than or equal to exclusive minimum value 
     | 
| 
      
 131 
     | 
    
         
            +
                  "#{@reference} #{@value} cannot be less than or equal to exclusive minimum value"
         
     | 
| 
       132 
132 
     | 
    
         
             
                end
         
     | 
| 
       133 
133 
     | 
    
         
             
              end
         
     | 
| 
       134 
134 
     | 
    
         | 
| 
         @@ -139,7 +139,7 @@ module OpenAPIParser 
     | 
|
| 
       139 
139 
     | 
    
         
             
                end
         
     | 
| 
       140 
140 
     | 
    
         | 
| 
       141 
141 
     | 
    
         
             
                def message
         
     | 
| 
       142 
     | 
    
         
            -
                  "#{@value}  
     | 
| 
      
 142 
     | 
    
         
            +
                  "#{@reference} #{@value} is more than maximum value"
         
     | 
| 
       143 
143 
     | 
    
         
             
                end
         
     | 
| 
       144 
144 
     | 
    
         
             
              end
         
     | 
| 
       145 
145 
     | 
    
         | 
| 
         @@ -150,7 +150,7 @@ module OpenAPIParser 
     | 
|
| 
       150 
150 
     | 
    
         
             
                end
         
     | 
| 
       151 
151 
     | 
    
         | 
| 
       152 
152 
     | 
    
         
             
                def message
         
     | 
| 
       153 
     | 
    
         
            -
                  "#{@value} cannot be more than or equal to exclusive maximum value 
     | 
| 
      
 153 
     | 
    
         
            +
                  "#{@reference} #{@value} cannot be more than or equal to exclusive maximum value"
         
     | 
| 
       154 
154 
     | 
    
         
             
                end
         
     | 
| 
       155 
155 
     | 
    
         
             
              end
         
     | 
| 
       156 
156 
     | 
    
         | 
| 
         @@ -162,7 +162,7 @@ module OpenAPIParser 
     | 
|
| 
       162 
162 
     | 
    
         
             
                end
         
     | 
| 
       163 
163 
     | 
    
         | 
| 
       164 
164 
     | 
    
         
             
                def message
         
     | 
| 
       165 
     | 
    
         
            -
                  "#{@ 
     | 
| 
      
 165 
     | 
    
         
            +
                  "#{@reference} pattern #{@pattern} does not match value: #{@value}"
         
     | 
| 
       166 
166 
     | 
    
         
             
                end
         
     | 
| 
       167 
167 
     | 
    
         
             
              end
         
     | 
| 
       168 
168 
     | 
    
         | 
| 
         @@ -173,19 +173,19 @@ module OpenAPIParser 
     | 
|
| 
       173 
173 
     | 
    
         
             
                end
         
     | 
| 
       174 
174 
     | 
    
         | 
| 
       175 
175 
     | 
    
         
             
                def message
         
     | 
| 
       176 
     | 
    
         
            -
                  "#{@ 
     | 
| 
      
 176 
     | 
    
         
            +
                  "#{@reference} email address format does not match value: #{@value}"
         
     | 
| 
       177 
177 
     | 
    
         
             
                end
         
     | 
| 
       178 
178 
     | 
    
         
             
              end
         
     | 
| 
       179 
179 
     | 
    
         | 
| 
       180 
180 
     | 
    
         
             
              class NotExistStatusCodeDefinition < OpenAPIError
         
     | 
| 
       181 
181 
     | 
    
         
             
                def message
         
     | 
| 
       182 
     | 
    
         
            -
                  " 
     | 
| 
      
 182 
     | 
    
         
            +
                  "#{@reference} status code definition does not exist"
         
     | 
| 
       183 
183 
     | 
    
         
             
                end
         
     | 
| 
       184 
184 
     | 
    
         
             
              end
         
     | 
| 
       185 
185 
     | 
    
         | 
| 
       186 
186 
     | 
    
         
             
              class NotExistContentTypeDefinition < OpenAPIError
         
     | 
| 
       187 
187 
     | 
    
         
             
                def message
         
     | 
| 
       188 
     | 
    
         
            -
                  " 
     | 
| 
      
 188 
     | 
    
         
            +
                  "#{@reference} response definition does not exist"
         
     | 
| 
       189 
189 
     | 
    
         
             
                end
         
     | 
| 
       190 
190 
     | 
    
         
             
              end
         
     | 
| 
       191 
191 
     | 
    
         | 
| 
         @@ -196,7 +196,7 @@ module OpenAPIParser 
     | 
|
| 
       196 
196 
     | 
    
         
             
                end
         
     | 
| 
       197 
197 
     | 
    
         | 
| 
       198 
198 
     | 
    
         
             
                def message
         
     | 
| 
       199 
     | 
    
         
            -
                  "#{@value}  
     | 
| 
      
 199 
     | 
    
         
            +
                  "#{@reference} #{@value} is longer than max length"
         
     | 
| 
       200 
200 
     | 
    
         
             
                end
         
     | 
| 
       201 
201 
     | 
    
         
             
              end
         
     | 
| 
       202 
202 
     | 
    
         | 
| 
         @@ -207,7 +207,7 @@ module OpenAPIParser 
     | 
|
| 
       207 
207 
     | 
    
         
             
                end
         
     | 
| 
       208 
208 
     | 
    
         | 
| 
       209 
209 
     | 
    
         
             
                def message
         
     | 
| 
       210 
     | 
    
         
            -
                  "#{@value}  
     | 
| 
      
 210 
     | 
    
         
            +
                  "#{@reference} #{@value} is shorter than min length"
         
     | 
| 
       211 
211 
     | 
    
         
             
                end
         
     | 
| 
       212 
212 
     | 
    
         
             
              end
         
     | 
| 
       213 
213 
     | 
    
         | 
| 
         @@ -218,7 +218,7 @@ module OpenAPIParser 
     | 
|
| 
       218 
218 
     | 
    
         
             
                end
         
     | 
| 
       219 
219 
     | 
    
         | 
| 
       220 
220 
     | 
    
         
             
                def message
         
     | 
| 
       221 
     | 
    
         
            -
                  "#{@value}  
     | 
| 
      
 221 
     | 
    
         
            +
                  "#{@reference} #{@value} contains more than max items"
         
     | 
| 
       222 
222 
     | 
    
         
             
                end
         
     | 
| 
       223 
223 
     | 
    
         
             
              end
         
     | 
| 
       224 
224 
     | 
    
         | 
| 
         @@ -229,7 +229,7 @@ module OpenAPIParser 
     | 
|
| 
       229 
229 
     | 
    
         
             
                end
         
     | 
| 
       230 
230 
     | 
    
         | 
| 
       231 
231 
     | 
    
         
             
                def message
         
     | 
| 
       232 
     | 
    
         
            -
                  "#{@value}  
     | 
| 
      
 232 
     | 
    
         
            +
                  "#{@reference} #{@value} contains fewer than min items"
         
     | 
| 
       233 
233 
     | 
    
         
             
                end
         
     | 
| 
       234 
234 
     | 
    
         
             
              end
         
     | 
| 
       235 
235 
     | 
    
         
             
            end
         
     | 
| 
         @@ -7,13 +7,13 @@ class OpenAPIParser::SchemaValidator 
     | 
|
| 
       7 
7 
     | 
    
         
             
                def coerce_and_validate(value, schema, parent_all_of: false, discriminator_property_name: nil)
         
     | 
| 
       8 
8 
     | 
    
         
             
                  return OpenAPIParser::ValidateError.build_error_result(value, schema) unless value.kind_of?(Hash)
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
                   
     | 
| 
      
 10 
     | 
    
         
            +
                  properties = schema.properties || {}
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                  required_set = schema.required ? schema.required.to_set : Set.new
         
     | 
| 
       13 
13 
     | 
    
         
             
                  remaining_keys = value.keys
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                  coerced_values = value.map do |name, v|
         
     | 
| 
       16 
     | 
    
         
            -
                    s =  
     | 
| 
      
 16 
     | 
    
         
            +
                    s = properties[name]
         
     | 
| 
       17 
17 
     | 
    
         
             
                    coerced, err = if s
         
     | 
| 
       18 
18 
     | 
    
         
             
                                     remaining_keys.delete(name)
         
     | 
| 
       19 
19 
     | 
    
         
             
                                     validatable.validate_schema(v, s)
         
     | 
| 
         @@ -43,11 +43,11 @@ module OpenAPIParser::Schemas 
     | 
|
| 
       43 
43 
     | 
    
         
             
                  def validate_header(response_headers)
         
     | 
| 
       44 
44 
     | 
    
         
             
                    return unless headers
         
     | 
| 
       45 
45 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
                    headers.each do | 
     | 
| 
       47 
     | 
    
         
            -
                       
     | 
| 
       48 
     | 
    
         
            -
                      next unless h
         
     | 
| 
      
 46 
     | 
    
         
            +
                    headers.each do |name, schema|
         
     | 
| 
      
 47 
     | 
    
         
            +
                      next unless response_headers.key?(name)
         
     | 
| 
       49 
48 
     | 
    
         | 
| 
       50 
     | 
    
         
            -
                       
     | 
| 
      
 49 
     | 
    
         
            +
                      value = response_headers[name]
         
     | 
| 
      
 50 
     | 
    
         
            +
                      schema.validate(value)
         
     | 
| 
       51 
51 
     | 
    
         
             
                    end
         
     | 
| 
       52 
52 
     | 
    
         
             
                  end
         
     | 
| 
       53 
53 
     | 
    
         
             
              end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: openapi_parser
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.6. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.6.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - ota42y
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2019-10- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2019-10-12 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     |