media_types 0.6.1 → 0.6.2

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: 1f24bfe6e322e33b8fa5bfb4af2df6d7af751cd81f85830477a73777e5ca9b96
4
- data.tar.gz: 3936ae9836750c1fbb136efe0995df8214393380f990032d7b0e1e0d8787441c
3
+ metadata.gz: b854726c0783d1e7f27c66a195362a9df615500fb0bc329a935aa589d3451138
4
+ data.tar.gz: 3699e6ea389a304a2a7970911a39ae269e0705b3283c8b816868f1ba76abc6fa
5
5
  SHA512:
6
- metadata.gz: 50b0ed65d73f88590394327ecf7ae2e51c33dbf68faad099f6e880ec8bde4de17c698da9229d8f7cb0cc0b4ca1de7922475d0ae424caf04d78c4b50a2da8d3d4
7
- data.tar.gz: 885a33a8888c23aa2e4aaf903432464cfc435efeeaa360d10e9d85fbae65ee547ec56db7c93bf5292ebc0cf662a5299eaae20abd3072e5a08ce3442caf9906fc
6
+ metadata.gz: 05a9e6bb7d2cf222148750830b4efb69fc73a7b955e4a7cf51de6dbe3ed4866187cc498c7b11c8060f0a3dc53eac76fa7bc762049ed6174bdaccc0ea3fa118c7
7
+ data.tar.gz: c811c45d8ed2355a39f49f924d09a6a3326abe715e86b5ce4634d6a7dc1d2a18c565e6f1f6de60a769aa2fd6a863bd328da82a15ee3a8e6eaded39beab35856d
@@ -1,3 +1,7 @@
1
+ # 0.6.2
2
+
3
+ - Fix handling empty collections
4
+
1
5
  # 0.6.1
2
6
 
3
7
  - Fix no `validations` error on `validatable?` (now returns `false`)
@@ -1,25 +1,25 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- media_types (0.6.1)
4
+ media_types (0.6.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- actionpack (5.2.2)
10
- actionview (= 5.2.2)
11
- activesupport (= 5.2.2)
9
+ actionpack (5.2.3)
10
+ actionview (= 5.2.3)
11
+ activesupport (= 5.2.3)
12
12
  rack (~> 2.0)
13
13
  rack-test (>= 0.6.3)
14
14
  rails-dom-testing (~> 2.0)
15
15
  rails-html-sanitizer (~> 1.0, >= 1.0.2)
16
- actionview (5.2.2)
17
- activesupport (= 5.2.2)
16
+ actionview (5.2.3)
17
+ activesupport (= 5.2.3)
18
18
  builder (~> 3.1)
19
19
  erubi (~> 1.4)
20
20
  rails-dom-testing (~> 2.0)
21
21
  rails-html-sanitizer (~> 1.0, >= 1.0.3)
22
- activesupport (5.2.2)
22
+ activesupport (5.2.3)
23
23
  concurrent-ruby (~> 1.0, >= 1.0.2)
24
24
  i18n (>= 0.7, < 2)
25
25
  minitest (~> 5.1)
@@ -29,13 +29,13 @@ GEM
29
29
  ansi (1.5.0)
30
30
  awesome_print (1.8.0)
31
31
  builder (3.2.3)
32
- concurrent-ruby (1.1.4)
32
+ concurrent-ruby (1.1.5)
33
33
  crass (1.0.4)
34
34
  docile (1.3.1)
35
35
  domain_name (0.5.20180417)
36
36
  unf (>= 0.0.5, < 1.0.0)
37
37
  erubi (1.8.0)
38
- http (4.0.5)
38
+ http (4.1.1)
39
39
  addressable (~> 2.3)
40
40
  http-cookie (~> 1.0)
41
41
  http-form_data (~> 2.0)
@@ -59,11 +59,11 @@ GEM
59
59
  builder
60
60
  minitest (>= 5.0)
61
61
  ruby-progressbar
62
- nokogiri (1.10.1)
62
+ nokogiri (1.10.3)
63
63
  mini_portile2 (~> 2.4.0)
64
- nokogiri (1.10.1-x64-mingw32)
64
+ nokogiri (1.10.3-x64-mingw32)
65
65
  mini_portile2 (~> 2.4.0)
66
- oj (3.7.9)
66
+ oj (3.7.12)
67
67
  public_suffix (3.0.3)
68
68
  rack (2.0.6)
69
69
  rack-test (1.1.0)
@@ -290,10 +290,6 @@ module MediaTypes
290
290
  #
291
291
  def collection(key, scheme = nil, allow_empty: false, expected_type: ::Array, optional: false, &block)
292
292
  unless block_given?
293
- if scheme.is_a?(Scheme)
294
- return rules.add(key, scheme, optional: optional)
295
- end
296
-
297
293
  return rules.add(
298
294
  key,
299
295
  EnumerationOfType.new(
@@ -59,12 +59,16 @@ module MediaTypes
59
59
  end
60
60
 
61
61
  def validate_items!(output, options)
62
- output.all? do |item|
62
+ output.each_with_index.all? do |item, index|
63
63
  next true if item_type === item # rubocop:disable Style/CaseEquality
64
+ if item_type.is_a?(Scheme)
65
+ item_type.validate(item, options.trace("[#{index}]"))
66
+ next true
67
+ end
64
68
  raise ValidationError,
65
69
  format(
66
70
  'Expected collection item as %<type>s, got %<actual>s at [%<backtrace>s]',
67
- type: item_type,
71
+ type: item_type.inspect,
68
72
  actual: item.inspect,
69
73
  backtrace: options.backtrace.join('->')
70
74
  )
@@ -91,7 +91,7 @@ module MediaTypes
91
91
  return "#{prefix}[Error]Depth limit reached[/Error]" if indent > 5_000
92
92
 
93
93
  [
94
- "#{prefix}[Rules n=#{keys.length} optional=#{optional_keys.length}]",
94
+ "#{prefix}[Rules n=#{keys.length} optional=#{optional_keys.length} allow_empty=#{allow_empty?}]",
95
95
  "#{prefix} #{inspect_format_attribute(indent, '*', default)}",
96
96
  *keys.map { |key| "#{prefix} #{inspect_format_attribute(indent, key)}" },
97
97
  "#{prefix}[/Rules]"
@@ -11,6 +11,10 @@ module MediaTypes
11
11
  self.backtrace = backtrace
12
12
  end
13
13
 
14
+ def inspect
15
+ "backtrack: #{backtrace.inspect}, strict: #{strict.inspect}, exhaustive: #{exhaustive}"
16
+ end
17
+
14
18
  def with_backtrace(backtrace)
15
19
  ValidationOptions.new(exhaustive: exhaustive, strict: strict, backtrace: backtrace)
16
20
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MediaTypes
4
- VERSION = '0.6.1'
4
+ VERSION = '0.6.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: media_types
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derk-Jan Karrenbeld
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-07 00:00:00.000000000 Z
11
+ date: 2019-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionpack
@@ -219,8 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
219
219
  - !ruby/object:Gem::Version
220
220
  version: '0'
221
221
  requirements: []
222
- rubyforge_project:
223
- rubygems_version: 2.7.6
222
+ rubygems_version: 3.0.3
224
223
  signing_key:
225
224
  specification_version: 4
226
225
  summary: Library to create media type definitions, schemes and validations