json-schema-lite 0.2.2 → 0.2.3

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
  SHA1:
3
- metadata.gz: 66110f7f12388fd87b757c2edffdf284ea20a52f
4
- data.tar.gz: 39aed978cca843d4220a91f59c09f19aa8a62202
3
+ metadata.gz: cc7e4cce56cb5263ae0be3dea4b6bb016dd66361
4
+ data.tar.gz: 523d20ee78ca195a6d1fbc1caf1b8d48f20bfc7e
5
5
  SHA512:
6
- metadata.gz: 19742fc7bb10f9ff4e47df138fe3c80ad2c4bc1582d43f01be424a5b0b09284b2436538afd4e2b64a5ed0e38129c8ceb952908b994b5e94237b07aa7d56d4e4e
7
- data.tar.gz: f051db43ee99242b02a0d647b5de3878426fd1c546ca90210ecb35697b1be1bbdb0e62af4e70f626182112433b6b8f53164f5072ba568e83eec1fb83550063e7
6
+ metadata.gz: 7452134c76dcc3f98802a9d63e4c620bb80585574d1b415f57708a6494f990d19c7dc1b21b13f7d4faf30f7d48d60eba9aacfcc5f7dfd1157688591b7f799561
7
+ data.tar.gz: ea7c3264ef7c977c6325c9b4e41f48637eb8d951fe6f6202666adc29f0d6eac299c184a9bb16b5645d780b4e1a623919ced98fbab4c94b4822167e03cd5fcf7f
@@ -7,9 +7,9 @@ module JSON
7
7
  self.instance_eval &block
8
8
  end
9
9
 
10
- %w(string number boolean null).each do |method|
10
+ %i(string number boolean null).each do |method|
11
11
  define_method method do |key, option = {}|
12
- set_properties key, __method__
12
+ set_properties key, option[:allow_null] ? { anyOf: [{ type: method }, { type: :null }] } : method
13
13
  add_required key if option[:required]
14
14
  end
15
15
  end
@@ -16,8 +16,12 @@ module JSON
16
16
  end
17
17
  end
18
18
  elsif definition.is_a? Array
19
- json_schema[:type] = :array
20
- json_schema[:items] = define definition[0]
19
+ if definition.size == 1
20
+ json_schema[:type] = :array
21
+ json_schema[:items] = define definition[0]
22
+ else
23
+ json_schema[:anyOf] = definition.map { |d| { type: d } }
24
+ end
21
25
  else
22
26
  json_schema[:type] = definition
23
27
  end
@@ -1,7 +1,7 @@
1
1
  module JSON
2
2
  class Schema
3
3
  module Lite
4
- VERSION = '0.2.2'
4
+ VERSION = '0.2.3'
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json-schema-lite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masayuki Uehara
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-31 00:00:00.000000000 Z
11
+ date: 2016-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json