schemacop 1.0.0 → 1.0.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
  SHA1:
3
- metadata.gz: c25bec9da7704ee8d22967b1e23fd75c51e05843
4
- data.tar.gz: 860bb199cc9a1c6aab7f3d332ba48365af4a5c89
3
+ metadata.gz: 461a65a27019c789e45d30f6d5be819c214a0b0a
4
+ data.tar.gz: ee57b67c3b810a9602e6914e151f86dba6d8b55f
5
5
  SHA512:
6
- metadata.gz: 96f03301ad940846d477707f67fd86c74724d8aae5b762097422e70f489da642a1252b25a891054716955df7f21726fb60b0114e11881768fed44f8796398a89
7
- data.tar.gz: fb672cc70bde3f7a8eb5c9afbdd1116a5d2ef15dd87a6bbb005d31e060dccece88ade022f9872114d4fb85f682dca120040822e29781b5be0e350b4c9f267b96
6
+ metadata.gz: b380fbdc36ab0a3ddda2b646128d6f300303ca4181765a84b32c1f499d5b081dcdaf88b8bb6b58325174c08f759c4308aa793c04cef53ad39638de4052eb6a7f
7
+ data.tar.gz: 8424d9820513500bd7616fcc5d13b80793b1d4e773c19255820cf40f7097e53ec194e306fc2fa9f3ea36482677602b2e89f7d75d26802deb4d7e60c59556f47e
@@ -0,0 +1,20 @@
1
+ # Change log
2
+
3
+ ## master (unreleased)
4
+
5
+ ### New features
6
+
7
+ ### Bug fixes
8
+
9
+ ### Changes
10
+
11
+ ## 1.0.1 (2016-06-07)
12
+
13
+ ### Bug fixes
14
+
15
+ * Fixed bug which didn't allow unspecified hash contents
16
+ * Fixed bug which didn't allow mixed array type specifications
17
+
18
+ ## 1.0.0 (2016-06-06)
19
+
20
+ * Initial stable release
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.1
@@ -199,7 +199,7 @@
199
199
  </div>
200
200
 
201
201
  <div id="footer">
202
- Generated on Mon Jun 6 18:27:25 2016 by
202
+ Generated on Tue Jun 7 10:37:13 2016 by
203
203
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
204
204
  0.8.7.6 (ruby-2.0.0).
205
205
  </div>
@@ -106,7 +106,7 @@
106
106
  </div>
107
107
 
108
108
  <div id="footer">
109
- Generated on Mon Jun 6 18:27:25 2016 by
109
+ Generated on Tue Jun 7 10:37:14 2016 by
110
110
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
111
111
  0.8.7.6 (ruby-2.0.0).
112
112
  </div>
@@ -118,7 +118,7 @@
118
118
  </div>
119
119
 
120
120
  <div id="footer">
121
- Generated on Mon Jun 6 18:27:25 2016 by
121
+ Generated on Tue Jun 7 10:37:14 2016 by
122
122
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
123
123
  0.8.7.6 (ruby-2.0.0).
124
124
  </div>
@@ -132,7 +132,7 @@
132
132
  </div>
133
133
 
134
134
  <div id="footer">
135
- Generated on Mon Jun 6 18:27:25 2016 by
135
+ Generated on Tue Jun 7 10:37:14 2016 by
136
136
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
137
137
  0.8.7.6 (ruby-2.0.0).
138
138
  </div>
@@ -133,7 +133,7 @@ schema definition.</p>
133
133
  </div>
134
134
 
135
135
  <div id="footer">
136
- Generated on Mon Jun 6 18:27:25 2016 by
136
+ Generated on Tue Jun 7 10:37:14 2016 by
137
137
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
138
138
  0.8.7.6 (ruby-2.0.0).
139
139
  </div>
@@ -108,11 +108,11 @@
108
108
 
109
109
  </dt>
110
110
  <dd><pre class="code"><span class='lbrace'>{</span>
111
- <span class='label'>hash:</span> <span class='lbracket'>[</span><span class='const'>Hash</span><span class='rbracket'>]</span><span class='comma'>,</span>
112
- <span class='label'>array:</span> <span class='lbracket'>[</span><span class='const'>Array</span><span class='rbracket'>]</span><span class='comma'>,</span>
113
- <span class='label'>string:</span> <span class='lbracket'>[</span><span class='const'>String</span><span class='rbracket'>]</span><span class='comma'>,</span>
114
- <span class='label'>integer:</span> <span class='lbracket'>[</span><span class='const'>Integer</span><span class='rbracket'>]</span><span class='comma'>,</span>
115
- <span class='label'>boolean:</span> <span class='lbracket'>[</span><span class='const'>TrueClass</span><span class='comma'>,</span> <span class='const'>FalseClass</span><span class='rbracket'>]</span>
111
+ <span class='label'>hash:</span> <span class='lbracket'>[</span><span class='const'>Hash</span><span class='rbracket'>]</span><span class='comma'>,</span>
112
+ <span class='label'>array:</span> <span class='lbracket'>[</span><span class='const'>Array</span><span class='rbracket'>]</span><span class='comma'>,</span>
113
+ <span class='label'>string:</span> <span class='lbracket'>[</span><span class='const'>String</span><span class='rbracket'>]</span><span class='comma'>,</span>
114
+ <span class='label'>integer:</span> <span class='lbracket'>[</span><span class='const'>Integer</span><span class='rbracket'>]</span><span class='comma'>,</span>
115
+ <span class='label'>boolean:</span> <span class='lbracket'>[</span><span class='const'>TrueClass</span><span class='comma'>,</span> <span class='const'>FalseClass</span><span class='rbracket'>]</span>
116
116
  <span class='rbrace'>}</span></pre></dd>
117
117
 
118
118
  </dl>
@@ -245,7 +245,7 @@
245
245
  </div>
246
246
 
247
247
  <div id="footer">
248
- Generated on Mon Jun 6 18:27:25 2016 by
248
+ Generated on Tue Jun 7 10:37:14 2016 by
249
249
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
250
250
  0.8.7.6 (ruby-2.0.0).
251
251
  </div>
@@ -168,7 +168,7 @@
168
168
  </div>
169
169
 
170
170
  <div id="footer">
171
- Generated on Mon Jun 6 18:27:25 2016 by
171
+ Generated on Tue Jun 7 10:37:13 2016 by
172
172
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
173
173
  0.8.7.6 (ruby-2.0.0).
174
174
  </div>
@@ -393,7 +393,7 @@ concerning their name and the structure of their README file.</p>
393
393
  </div></div>
394
394
 
395
395
  <div id="footer">
396
- Generated on Mon Jun 6 18:27:25 2016 by
396
+ Generated on Tue Jun 7 10:37:13 2016 by
397
397
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
398
398
  0.8.7.6 (ruby-2.0.0).
399
399
  </div>
@@ -393,7 +393,7 @@ concerning their name and the structure of their README file.</p>
393
393
  </div></div>
394
394
 
395
395
  <div id="footer">
396
- Generated on Mon Jun 6 18:27:25 2016 by
396
+ Generated on Tue Jun 7 10:37:13 2016 by
397
397
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
398
398
  0.8.7.6 (ruby-2.0.0).
399
399
  </div>
@@ -103,7 +103,7 @@
103
103
  </div>
104
104
 
105
105
  <div id="footer">
106
- Generated on Mon Jun 6 18:27:25 2016 by
106
+ Generated on Tue Jun 7 10:37:13 2016 by
107
107
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
108
108
  0.8.7.6 (ruby-2.0.0).
109
109
  </div>
@@ -1,11 +1,11 @@
1
1
  module Schemacop
2
2
  class Validator
3
3
  TYPE_ALIASES = {
4
- hash: [Hash],
5
- array: [Array],
6
- string: [String],
7
- integer: [Integer],
8
- boolean: [TrueClass, FalseClass]
4
+ hash: [Hash],
5
+ array: [Array],
6
+ string: [String],
7
+ integer: [Integer],
8
+ boolean: [TrueClass, FalseClass]
9
9
  }
10
10
 
11
11
  # Validates `data` against `schema` and throws an exception on missmatch.
@@ -25,42 +25,47 @@ module Schemacop
25
25
  end
26
26
 
27
27
  def prepare_schema(schema)
28
- schema = { types: schema } unless schema.is_a? Hash
28
+ schema = { types: schema } unless schema.is_a?(Hash)
29
29
 
30
30
  if schema.include?(:type)
31
- schema[:types] = schema.delete :type
31
+ schema[:types] = schema.delete(:type)
32
32
  else
33
33
  schema[:types] = :array unless schema[:array].nil?
34
34
  schema[:types] = :hash unless schema[:hash].nil?
35
35
  end
36
36
 
37
37
  schema[:types] = [*schema[:types]]
38
+ schema[:types].map! do |type|
39
+ alias_type = TYPE_ALIASES.select { |_, v| v.include?(type) }.keys.first
40
+ type = alias_type unless alias_type.nil?
41
+ type
42
+ end
43
+
38
44
  schema[:types].each do |type|
39
45
  if type == :hash
40
- if schema.include? :fields
41
- schema[:hash] = schema.delete :fields
46
+ if schema.include?(:fields)
47
+ schema[:hash] = schema.delete(:fields)
42
48
  end
43
49
 
44
- if schema[type].is_a? Hash
45
- schema[type].each do |key, value|
46
- schema[type][key] = prepare_schema value
50
+ schema[:hash] = schema[:hash] || {}
51
+ if schema[:hash].is_a?(Hash)
52
+ schema[:hash].each do |key, value|
53
+ schema[:hash][key] = prepare_schema(value)
47
54
  end
48
55
  end
49
56
  end
50
57
 
51
- if type == :array
52
- schema[:array] = prepare_schema schema[:array]
53
- end
58
+ schema[:array] = prepare_schema(schema[:array]) if type == :array
54
59
  end
55
60
 
56
61
  schema
57
62
  end
58
63
 
59
64
  def assign_data_type(type)
60
- if type.is_a? Symbol
65
+ if type.is_a?(Symbol)
61
66
  fail Exceptions::InvalidSchema, "Type alias #{type} is not supported." if TYPE_ALIASES[type].nil?
62
67
  TYPE_ALIASES[type]
63
- elsif type.is_a? String
68
+ elsif type.is_a?(String)
64
69
  type.to_s.classify.safe_constantize
65
70
  else
66
71
  type
@@ -86,7 +91,7 @@ module Schemacop
86
91
  end
87
92
  end
88
93
 
89
- unless supported_types.any? { |t| data.is_a?(t) }
94
+ if schema[:types].present? && !supported_types.any? { |t| data.is_a?(t) }
90
95
  fail Exceptions::Validation, "Property at path #{path} must be of type #{supported_types.inspect}."
91
96
  end
92
97
 
@@ -94,8 +99,7 @@ module Schemacop
94
99
  # Check for allowed values
95
100
  # ---------------------------------------------------------------
96
101
  if schema[:allowed_values] && !schema[:allowed_values].include?(data)
97
- fail Exceptions::Validation,
98
- "Value #{data.inspect} of property at path #{path} is not valid. Valid are: #{schema[:allowed_values].inspect}."
102
+ fail Exceptions::Validation, "Value #{data.inspect} of property at path #{path} is not valid. Valid are: #{schema[:allowed_values].inspect}."
99
103
  end
100
104
 
101
105
  # ---------------------------------------------------------------
@@ -108,11 +112,13 @@ module Schemacop
108
112
  fail Exceptions::InvalidSchema, "Missing schema entry :hash at path #{path}."
109
113
  end
110
114
 
111
- data_keys = data.keys.collect(&:to_s)
112
115
  schema_keys = schema[:hash].keys.collect(&:to_s)
116
+ unless schema_keys.empty?
117
+ data_keys = data.keys.collect(&:to_s)
113
118
 
114
- unless (obsolete_keys = data_keys - schema_keys).empty?
115
- fail Exceptions::Validation, "Obsolete keys at path #{path}: #{obsolete_keys.inspect}."
119
+ unless (obsolete_keys = data_keys - schema_keys).empty?
120
+ fail Exceptions::Validation, "Obsolete keys at path #{path}: #{obsolete_keys.inspect}."
121
+ end
116
122
  end
117
123
 
118
124
  schema[:hash].each do |sub_key, sub_schema|
@@ -125,12 +131,12 @@ module Schemacop
125
131
  fail Exceptions::Validation, "Property at path #{path}.#{sub_key} can't be null."
126
132
  end
127
133
  else
128
- validate_branch "#{path}.#{sub_key}", sub_schema, data[sub_key]
134
+ validate_branch("#{path}.#{sub_key}", sub_schema, data[sub_key])
129
135
  end
130
136
  end
131
- elsif schema[:types].include? :array
137
+ elsif schema[:types].include?(:array)
132
138
  data.each_with_index do |value, index|
133
- validate_branch "#{path}[#{index}]", schema[:array], value
139
+ validate_branch("#{path}[#{index}]", schema[:array], value)
134
140
  end
135
141
  end
136
142
  end
@@ -1,14 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: schemacop 1.0.0 ruby lib
2
+ # stub: schemacop 1.0.1 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "schemacop"
6
- s.version = "1.0.0"
6
+ s.version = "1.0.1"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.authors = ["Sitrox"]
10
- s.date = "2016-06-06"
11
- s.files = [".gitignore", ".releaser_config", ".rubocop.yml", ".travis.yml", ".yardopts", "Gemfile", "LICENSE", "README.md", "RUBY_VERSION", "Rakefile", "VERSION", "doc/Schemacop.html", "doc/Schemacop/Exceptions.html", "doc/Schemacop/Exceptions/Base.html", "doc/Schemacop/Exceptions/InvalidSchema.html", "doc/Schemacop/Exceptions/Validation.html", "doc/Schemacop/Validator.html", "doc/_index.html", "doc/class_list.html", "doc/css/common.css", "doc/css/full_list.css", "doc/css/style.css", "doc/file.README.html", "doc/file_list.html", "doc/frames.html", "doc/index.html", "doc/js/app.js", "doc/js/full_list.js", "doc/js/jquery.js", "doc/method_list.html", "doc/top-level-namespace.html", "lib/schemacop.rb", "lib/schemacop/exceptions.rb", "lib/schemacop/validator.rb", "schemacop.gemspec", "test/schemacop_validator_test.rb"]
10
+ s.date = "2016-06-07"
11
+ s.files = [".gitignore", ".releaser_config", ".rubocop.yml", ".travis.yml", ".yardopts", "CHANGELOG.md", "Gemfile", "LICENSE", "README.md", "RUBY_VERSION", "Rakefile", "VERSION", "doc/Schemacop.html", "doc/Schemacop/Exceptions.html", "doc/Schemacop/Exceptions/Base.html", "doc/Schemacop/Exceptions/InvalidSchema.html", "doc/Schemacop/Exceptions/Validation.html", "doc/Schemacop/Validator.html", "doc/_index.html", "doc/class_list.html", "doc/css/common.css", "doc/css/full_list.css", "doc/css/style.css", "doc/file.README.html", "doc/file_list.html", "doc/frames.html", "doc/index.html", "doc/js/app.js", "doc/js/full_list.js", "doc/js/jquery.js", "doc/method_list.html", "doc/top-level-namespace.html", "lib/schemacop.rb", "lib/schemacop/exceptions.rb", "lib/schemacop/validator.rb", "schemacop.gemspec", "test/schemacop_validator_test.rb"]
12
12
  s.require_paths = ["lib"]
13
13
  s.rubygems_version = "2.1.11"
14
14
  s.summary = "Schemacop validates ruby structures consisting of nested hashes and arrays against simple schema definitions."
@@ -10,10 +10,13 @@ class SchemacopValidatorTest < Minitest::Test
10
10
 
11
11
  def test_short_type_schema
12
12
  assert_schema({ type: :array, array: :string }, %w(Hello world))
13
+ assert_schema({ type: [Array], array: :string }, %w(Hello world))
13
14
  assert_schema({ array: :string }, %w(Hello world))
14
15
  assert_schema({ hash: { first_name: :string, last_name: :string } }, first_name: 'John', last_name: 'Doe')
15
16
 
16
- assert_schema_failure({ type: :array }, %w(Hello world))
17
+ assert_schema_failure({ type: :array, array: :integer }, %w(Hello world))
18
+ assert_schema_failure({ type: Array, array: :string }, [1, 2, 3])
19
+ assert_schema_failure({ type: [Array], array: :integer }, %w(Hello world))
17
20
  end
18
21
 
19
22
  def test_many_types_schema
@@ -50,6 +53,63 @@ class SchemacopValidatorTest < Minitest::Test
50
53
  assert_schema(schema_rules, id: 'XYZ', name: 'John Doe', meta: { groups: [1, 2, 3], birthday: Date.today })
51
54
  end
52
55
 
56
+ def test_hash_without_specification
57
+ schema_rules = {
58
+ type: :hash
59
+ }
60
+
61
+ assert_schema(schema_rules, user: 'hello')
62
+ assert_schema(schema_rules, user: :world)
63
+ assert_schema(schema_rules, user: 123)
64
+ end
65
+
66
+ def test_array_without_specification
67
+ schema_rules = {
68
+ type: :array
69
+ }
70
+
71
+ assert_schema(schema_rules, [1, 'hello', :world])
72
+ assert_schema(schema_rules, [])
73
+ end
74
+
75
+ def test_hash_attributes_without_specification
76
+ schema_rules = {
77
+ type: :hash,
78
+ hash: {
79
+ user: { type: :hash, null: true }
80
+ }
81
+ }
82
+
83
+ assert_schema(schema_rules, user: { foo: :bar })
84
+ assert_schema(schema_rules, user: nil)
85
+ end
86
+
87
+ def test_array_in_hash_without_specification
88
+ schema_rules = {
89
+ type: Hash,
90
+ hash: {
91
+ types: { type: :array, null: true }
92
+ }
93
+ }
94
+
95
+ assert_schema(schema_rules, types: ['test', 1, :hello])
96
+ assert_schema(schema_rules, types: [])
97
+ assert_schema(schema_rules, types: nil)
98
+ end
99
+
100
+ def test_array_in_hash_with_multiple_types
101
+ schema_rules = {
102
+ type: :hash,
103
+ hash: {
104
+ types: { type: Array, array: [Integer, String] }
105
+ }
106
+ }
107
+
108
+ assert_schema(schema_rules, types: ['test', 1])
109
+ assert_schema(schema_rules, types: [])
110
+ assert_schema_failure(schema_rules, types: ['test', 1, :hello_world])
111
+ end
112
+
53
113
  def test_nested_hash_schema
54
114
  schema_rules = {
55
115
  type: :hash,
@@ -77,13 +137,13 @@ class SchemacopValidatorTest < Minitest::Test
77
137
  }
78
138
  }
79
139
 
80
- assert_schema schema_rules, name: 'John Doe'
81
- assert_schema schema_rules, name: ''
82
- assert_schema schema_rules, name: nil
140
+ assert_schema(schema_rules, name: 'John Doe')
141
+ assert_schema(schema_rules, name: '')
142
+ assert_schema(schema_rules, name: nil)
83
143
 
84
- assert_schema_failure schema_rules, name: 123
85
- assert_schema_failure schema_rules, name: true
86
- assert_schema_failure schema_rules, name: []
144
+ assert_schema_failure(schema_rules, name: 123)
145
+ assert_schema_failure(schema_rules, name: true)
146
+ assert_schema_failure(schema_rules, name: [])
87
147
  end
88
148
 
89
149
  def test_array_hash_old_schema
@@ -98,13 +158,13 @@ class SchemacopValidatorTest < Minitest::Test
98
158
  }
99
159
  }
100
160
 
101
- assert_schema schema_rules, [{ name: 'John', required: true }, { name: 'Alex', required: false }]
161
+ assert_schema(schema_rules, [{ name: 'John', required: true }, { name: 'Alex', required: false }])
102
162
 
103
- assert_schema_failure schema_rules, name: 'John Doe'
104
- assert_schema_failure schema_rules, [{ name: 'John Doe' }]
105
- assert_schema_failure schema_rules, [{ required: true }]
106
- assert_schema_failure schema_rules, [{ name: 0, required: true }]
107
- assert_schema_failure schema_rules, [{ name: 'John Doe', required: 'string' }]
163
+ assert_schema_failure(schema_rules, name: 'John Doe')
164
+ assert_schema_failure(schema_rules, [{ name: 'John Doe' }])
165
+ assert_schema_failure(schema_rules, [{ required: true }])
166
+ assert_schema_failure(schema_rules, [{ name: 0, required: true }])
167
+ assert_schema_failure(schema_rules, [{ name: 'John Doe', required: 'string' }])
108
168
  end
109
169
 
110
170
  def test_fields_array_old_schema
@@ -120,12 +180,12 @@ class SchemacopValidatorTest < Minitest::Test
120
180
  }
121
181
  }
122
182
 
123
- assert_schema schema_rules, ids: []
124
- assert_schema schema_rules, ids: [1, 2, 3]
183
+ assert_schema(schema_rules, ids: [])
184
+ assert_schema(schema_rules, ids: [1, 2, 3])
125
185
 
126
- assert_schema_failure schema_rules, ids: [1, '2']
127
- assert_schema_failure schema_rules, ids: '3'
128
- assert_schema_failure schema_rules, ids: nil
186
+ assert_schema_failure(schema_rules, ids: [1, '2'])
187
+ assert_schema_failure(schema_rules, ids: '3')
188
+ assert_schema_failure(schema_rules, ids: nil)
129
189
  end
130
190
 
131
191
  def test_validate_fields_old_schema
@@ -140,14 +200,14 @@ class SchemacopValidatorTest < Minitest::Test
140
200
  }
141
201
  }
142
202
 
143
- assert_schema schema_rules, name: 'John', id: 2, ids: [1, 2, 3], currency: 'CHF'
144
- assert_schema schema_rules, name: nil, id: 2, ids: [1, 2, 3], currency: 'CHF'
145
- assert_schema schema_rules, name: nil, age: 2, id: 2, ids: nil, currency: 'CHF'
146
- assert_schema schema_rules, name: nil, id: 2, ids: nil, currency: 'CHF'
203
+ assert_schema(schema_rules, name: 'John', id: 2, ids: [1, 2, 3], currency: 'CHF')
204
+ assert_schema(schema_rules, name: nil, id: 2, ids: [1, 2, 3], currency: 'CHF')
205
+ assert_schema(schema_rules, name: nil, age: 2, id: 2, ids: nil, currency: 'CHF')
206
+ assert_schema(schema_rules, name: nil, id: 2, ids: nil, currency: 'CHF')
147
207
 
148
- assert_schema_failure schema_rules, id: 2, ids: [1, 2, 3], currency: 'CHF'
149
- assert_schema_failure schema_rules, name: nil, id: nil, ids: [1, 2, 3], currency: 'CHF'
150
- assert_schema_failure schema_rules, name: nil, id: 2, ids: [1, 2, 3], currency: 'JPN'
208
+ assert_schema_failure(schema_rules, id: 2, ids: [1, 2, 3], currency: 'CHF')
209
+ assert_schema_failure(schema_rules, name: nil, id: nil, ids: [1, 2, 3], currency: 'CHF')
210
+ assert_schema_failure(schema_rules, name: nil, id: 2, ids: [1, 2, 3], currency: 'JPN')
151
211
  end
152
212
 
153
213
  def test_nested_old_schema
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schemacop
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sitrox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-06 00:00:00.000000000 Z
11
+ date: 2016-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -147,6 +147,7 @@ files:
147
147
  - ".rubocop.yml"
148
148
  - ".travis.yml"
149
149
  - ".yardopts"
150
+ - CHANGELOG.md
150
151
  - Gemfile
151
152
  - LICENSE
152
153
  - README.md