rschema 3.0.1.pre4 → 3.0.1.pre5

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: 039f7db20e1b5e4106983ee4be9a6fa9ec5b3686
4
- data.tar.gz: 63ab77eaa9563d038e241c93bfa3a19a038d61c1
3
+ metadata.gz: 2e570ef90c1907cc057e0b5edf7cd2bac22ace47
4
+ data.tar.gz: 05039b6e5b72eea3f86b0fa1295f61055dab7a16
5
5
  SHA512:
6
- metadata.gz: 94b58792f9148118644af0a2aaa18f641cbf33063a8ed9e167372741a6ccb62483d77c46e695c1121c6bfbd8b26e16800ec34650fcf6dac4fd90e9b6900e865f
7
- data.tar.gz: 1f60e46c2d4fcecf208617fe651c5c278e4bb1f7449fcde7208a75df3e37c23d8443f0bc8ffc7f676dd3d0e063f3feb78842273762b95140f0666283ad0a8323
6
+ metadata.gz: 111ad7ee2f51e27bd18636566d108d5313367ea77c1ffcc11db890db571e1887712af9fab9d35d7a27e57bb6cb314f3358f662e8322d0bc849e05f3c4e61a9d9
7
+ data.tar.gz: 2434658702e5ea3b87ba91cea91868d01f30bdcee10a430cf3fc3a5669f4126167cf7fc2a7f971c53136cdfdb59d749441e375ebf9d2145a4ce76e988eb54851
@@ -24,13 +24,23 @@ module RSchema
24
24
  def builder_for_schema(schema)
25
25
  @builder_by_schema.fetch(schema.class) do
26
26
  if schema.is_a?(Schemas::Type)
27
- @builder_by_type.fetch(schema.type, nil)
27
+ builder_for_type(schema.type)
28
28
  else
29
29
  nil
30
30
  end
31
31
  end
32
32
  end
33
33
 
34
+ def builder_for_type(type)
35
+ # polymorphic lookup
36
+ type.ancestors.each do |ancestor|
37
+ builder = @builder_by_type[ancestor]
38
+ return builder if builder
39
+ end
40
+
41
+ nil
42
+ end
43
+
34
44
  def wrap_with_coercer(schema)
35
45
  builder = builder_for_schema(schema)
36
46
  if builder
@@ -1,3 +1,3 @@
1
1
  module RSchema
2
- VERSION = '3.0.1.pre4'
2
+ VERSION = '3.0.1.pre5'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rschema
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1.pre4
4
+ version: 3.0.1.pre5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Dalling
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-18 00:00:00.000000000 Z
11
+ date: 2017-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docile