openapi_parser 2.1.0 → 2.2.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: 46f9ea4e608b98aadd42d6da1ad0f3ab83f8b87c14fee89d287bf7d92d40a38a
4
- data.tar.gz: 84aadee40dbb76d7332fa222d05e447a3070c57311dc6d872267b36b68183e39
3
+ metadata.gz: e5bbbc0335472ed4352c767db92dc1ed0259548e6d49ece1f5b5da3836fbdbc5
4
+ data.tar.gz: bb600e479aff2c4b7ac0314215f49d3058491e93fde59240cd47339853a8ecf8
5
5
  SHA512:
6
- metadata.gz: dea21c51e1744e593cd110b4b697c212e31d8834e12f148b73ff53e9777cabe83250db73b00102d3cab6f865b30b682f427adc39f7f22c71698965af76fb1cee
7
- data.tar.gz: 98e5c2e15c264918477a36c94788c9ae6c3054c0c86bc2b2b98e1eb5effec77698c00e412682065f2fc0f8538588fde298f54a4083843673de574947dc7e917f
6
+ metadata.gz: 53f5d120721d58ae47a555a036ac037fbb5460cbf315f918b7f881bb1a5f4fffee5bad46118dfd085441fcd65c01f133bb84834e728582a8008aaeb46a943a3e
7
+ data.tar.gz: 6ed888572b972db4ca33daffbfdef569de6f41153c5e798f42ee68badbe8154c1e206ec01300522d15aff56be1ecb5e4b4bd1209e99fc4da789e78ea4d1ba88f
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "bundler"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ - package-ecosystem: "github-actions"
8
+ directory: "/"
9
+ schedule:
10
+ interval: "weekly"
@@ -13,10 +13,11 @@ jobs:
13
13
  - "3.0"
14
14
  - "3.1"
15
15
  - "3.2"
16
+ - "3.3"
16
17
  - ruby-head
17
18
  runs-on: ${{ matrix.os }}
18
19
  steps:
19
- - uses: actions/checkout@v2
20
+ - uses: actions/checkout@v4
20
21
  - uses: ruby/setup-ruby@v1
21
22
  with:
22
23
  ruby-version: ${{ matrix.ruby }}
data/CHANGELOG.md CHANGED
@@ -1,14 +1,35 @@
1
1
  ## Unreleased
2
2
 
3
+ ## 2.2.1 (2024-10-23)
4
+ * revert schemas validation in additionalProperties and remove additionalProperties logic from allof (breaking things for me, will revisit)
5
+
6
+ ## 2.2.0 (2024-10-23)
7
+ ### Fixed
8
+ * support schemas validation in additionalProperties and remove additionalProperties logic from allof
9
+ * suppress method redefined warning
10
+ * add base64 dev dependency for ruby-head compatibility
11
+ * remove no longer needed activesupport dev dep thanks to a fix upstream
12
+ * add dependabot config
13
+ * remove no longer used code for old rubies
14
+ * bump actions/checkout
15
+ * add ruby 3.3 to test matrix
16
+ * fix uuid validation logic (make it more strict)
17
+
3
18
  ## 2.1.0 (2024-04-03)
4
19
  ### Fixed
5
20
  * Add full-date compliant date format validation #164
6
21
 
7
- ## 1.1.0 (2023-10-15)
22
+ ## 2.0.0 (2023-10-15)
23
+
8
24
  ### Added
25
+
9
26
  * Support for uniqueItems in array #154
10
27
  * Fix nullable field does not work with allOf, anyOf and oneOf keyword #128
11
28
 
29
+ ### Other
30
+
31
+ * Drop Ruby 2.6 Support #158
32
+
12
33
  ## 1.0.0 (2021-02-03)
13
34
  ### Added
14
35
  * Add date-time format validation #126
@@ -55,10 +55,7 @@ class OpenAPIParser::SchemaValidator
55
55
  def validate_email_format(value, schema)
56
56
  return [value, nil] unless schema.format == 'email'
57
57
 
58
- # match? method is good performance.
59
- # So when we drop ruby 2.3 support we use match? method because this method add ruby 2.4
60
- #return [value, nil] if value.match?(URI::MailTo::EMAIL_REGEXP)
61
- return [value, nil] if value.match(URI::MailTo::EMAIL_REGEXP)
58
+ return [value, nil] if value.match?(URI::MailTo::EMAIL_REGEXP)
62
59
 
63
60
  return [nil, OpenAPIParser::InvalidEmailFormat.new(value, schema.object_reference)]
64
61
  end
@@ -66,7 +63,7 @@ class OpenAPIParser::SchemaValidator
66
63
  def validate_uuid_format(value, schema)
67
64
  return [value, nil] unless schema.format == 'uuid'
68
65
 
69
- return [value, nil] if value.match(/[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/)
66
+ return [value, nil] if value.match(/^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$/)
70
67
 
71
68
  return [nil, OpenAPIParser::InvalidUUIDFormat.new(value, schema.object_reference)]
72
69
  end
@@ -110,6 +110,7 @@ module OpenAPIParser::Schemas
110
110
  openapi_attr_object :additional_properties, Schema, reference: true, allow_data_type: true, schema_key: :additionalProperties
111
111
  # additional_properties have default value
112
112
  # we should add default value feature in openapi_attr_object method, but we need temporary fix so override attr_reader
113
+ remove_method :additional_properties
113
114
  def additional_properties
114
115
  @additional_properties.nil? ? true : @additional_properties
115
116
  end
@@ -1,3 +1,3 @@
1
1
  module OpenAPIParser
2
- VERSION = '2.1.0'.freeze
2
+ VERSION = '2.2.1'.freeze
3
3
  end
@@ -81,14 +81,11 @@ module OpenAPIParser
81
81
  end
82
82
 
83
83
  def parse_yaml(content)
84
- # FIXME: when drop ruby 2.5, we should use permitted_classes
85
- (Gem::Version.create(RUBY_VERSION) < Gem::Version.create("2.6.0")) ?
86
- Psych.safe_load(content, [Date, Time]) :
87
- Psych.safe_load(content, permitted_classes: [Date, Time])
84
+ Psych.safe_load(content, permitted_classes: [Date, Time])
88
85
  end
89
86
 
90
87
  def parse_json(content)
91
- raise "json content is nil" unless content
88
+ raise "json content is nil" unless content
92
89
  JSON.parse(content)
93
90
  end
94
91
 
@@ -35,7 +35,6 @@ Gem::Specification.new do |spec|
35
35
  spec.add_development_dependency 'rspec-parameterized'
36
36
  spec.add_development_dependency 'simplecov'
37
37
  spec.add_development_dependency "steep"
38
- # for steep
39
- # https://github.com/soutaro/steep/issues/466
40
- spec.add_development_dependency "activesupport", '~> 6.0'
38
+ # for steep + ruby-head
39
+ spec.add_development_dependency 'base64', '~> 0.2.0'
41
40
  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: 2.1.0
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ota42y
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-04-04 00:00:00.000000000 Z
11
+ date: 2024-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,34 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: pry
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 0.12.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.12.0
55
- - !ruby/object:Gem::Dependency
56
- name: pry-byebug
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
41
  - !ruby/object:Gem::Dependency
70
42
  name: rake
71
43
  requirement: !ruby/object:Gem::Requirement
@@ -137,19 +109,19 @@ dependencies:
137
109
  - !ruby/object:Gem::Version
138
110
  version: '0'
139
111
  - !ruby/object:Gem::Dependency
140
- name: activesupport
112
+ name: base64
141
113
  requirement: !ruby/object:Gem::Requirement
142
114
  requirements:
143
115
  - - "~>"
144
116
  - !ruby/object:Gem::Version
145
- version: '6.0'
117
+ version: 0.2.0
146
118
  type: :development
147
119
  prerelease: false
148
120
  version_requirements: !ruby/object:Gem::Requirement
149
121
  requirements:
150
122
  - - "~>"
151
123
  - !ruby/object:Gem::Version
152
- version: '6.0'
124
+ version: 0.2.0
153
125
  description: parser for OpenAPI 3.0 or later
154
126
  email:
155
127
  - ota42y@gmail.com
@@ -157,6 +129,7 @@ executables: []
157
129
  extensions: []
158
130
  extra_rdoc_files: []
159
131
  files:
132
+ - ".github/dependabot.yml"
160
133
  - ".github/workflows/ci.yaml"
161
134
  - ".gitignore"
162
135
  - ".rspec"
@@ -250,7 +223,7 @@ homepage: https://github.com/ota42y/openapi_parser
250
223
  licenses:
251
224
  - MIT
252
225
  metadata: {}
253
- post_install_message:
226
+ post_install_message:
254
227
  rdoc_options: []
255
228
  require_paths:
256
229
  - lib
@@ -265,8 +238,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
265
238
  - !ruby/object:Gem::Version
266
239
  version: '0'
267
240
  requirements: []
268
- rubygems_version: 3.1.2
269
- signing_key:
241
+ rubygems_version: 3.5.18
242
+ signing_key:
270
243
  specification_version: 4
271
244
  summary: OpenAPI3 parser
272
245
  test_files: []