openapi_parser 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: db2325855cec3fb7ebe98a4e40ee654a16f90fe90120b9f52997165b9ab8bc00
4
- data.tar.gz: f2887d474e4e9faba6217a6ee60ac4ad4b88f86b74658c090c5f041537979097
3
+ metadata.gz: 326facafd3af7f66a13092790f063a518d866b3162a6dafe4f754ec662463ca8
4
+ data.tar.gz: 5315341ecd73b796bb3126c882da253bc670f7034c35721a3b83fb23e6a7b9db
5
5
  SHA512:
6
- metadata.gz: 4a4f47f5cdf92e64a93ea49856cdd4ff213522ebc7c1f72a3e58986ec61711ac99bbce1968a6e38979e2c825acd9d2ac55db4a1a7146b24827407a32bf1e3f55
7
- data.tar.gz: 6076253c378d491e9ce7b27829415fe1e85d3d25b85a9b485f8ddf62bb7413631710c91c5e480482bcedcab07d32bb97288f4a350a01c431cd82daca74f2bb78
6
+ metadata.gz: 54748ce7130061e081a5851c5100a0d4255de816107098543086131802d577965aa34dfa4a8b024eec1a4477cf2fab89f1d175ec57c01c959b3b94fbae71c8c3
7
+ data.tar.gz: 8dc502b7c3d411138e049c668251f17cdf6a00d39498c5cbade0612842b89138b02aee2c64e01eabb874f445aedb61350f57e168c2171d83e9ec42c17f2f8a18
data/.travis.yml CHANGED
@@ -6,9 +6,9 @@ language: ruby
6
6
 
7
7
  rvm:
8
8
  - 2.3.8
9
- - 2.4.5
10
- - 2.5.3
11
- - 2.6.0
9
+ - 2.4.6
10
+ - 2.5.5
11
+ - 2.6.3
12
12
  - ruby-head
13
13
 
14
14
  cache: bundler
@@ -76,6 +76,18 @@ module OpenAPIParser
76
76
  end
77
77
  end
78
78
 
79
+ class InvalidPattern < OpenAPIError
80
+ def initialize(value, pattern, reference)
81
+ super(reference)
82
+ @value = value
83
+ @pattern = pattern
84
+ end
85
+
86
+ def message
87
+ "#{@value} isn't match #{@pattern} in #{@reference}"
88
+ end
89
+ end
90
+
79
91
  class NotExistStatusCodeDefinition < OpenAPIError
80
92
  def message
81
93
  "don't exist status code definition in #{@reference}"
@@ -13,6 +13,9 @@ class OpenAPIParser::SchemaValidator
13
13
  value, err = check_enum_include(value, schema)
14
14
  return [nil, err] if err
15
15
 
16
+ value, err = pattern_validate(value, schema)
17
+ return [nil, err] if err
18
+
16
19
  unless @datetime_coerce_class.nil?
17
20
  value, err = coerce_date_time(value, schema)
18
21
  return [nil, err] if err
@@ -39,5 +42,14 @@ class OpenAPIParser::SchemaValidator
39
42
 
40
43
  OpenAPIParser::ValidateError.build_error_result(value, schema)
41
44
  end
45
+
46
+ # @param [OpenAPIParser::Schemas::Schema] schema
47
+ def pattern_validate(value, schema)
48
+ # pattern support string only so put this
49
+ return [value, nil] unless schema.pattern
50
+ return [value, nil] if value =~ /#{schema.pattern}/
51
+
52
+ [nil, OpenAPIParser::InvalidPattern.new(value, schema.pattern, schema.object_reference)]
53
+ end
42
54
  end
43
55
  end
@@ -1,3 +1,3 @@
1
1
  module OpenAPIParser
2
- VERSION = '0.2.4'.freeze
2
+ VERSION = '0.2.5'.freeze
3
3
  end
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ['lib']
24
24
 
25
- spec.add_development_dependency 'bundler', '~> 1.16'
25
+ spec.add_development_dependency 'bundler', '>= 1.16'
26
26
  spec.add_development_dependency 'fincop'
27
27
  spec.add_development_dependency 'pry'
28
28
  spec.add_development_dependency 'pry-byebug'
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openapi_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - ota42y
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-12 00:00:00.000000000 Z
11
+ date: 2019-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.16'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.16'
27
27
  - !ruby/object:Gem::Dependency
@@ -220,7 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
220
220
  - !ruby/object:Gem::Version
221
221
  version: '0'
222
222
  requirements: []
223
- rubygems_version: 3.0.1
223
+ rubygems_version: 3.0.3
224
224
  signing_key:
225
225
  specification_version: 4
226
226
  summary: OpenAPI3 parser