parametric 0.2.22 → 0.2.23

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: 2b1662998583583f7c65117f3f5a7e39aaead374861bfdd67459545796fab33f
4
- data.tar.gz: a7d0ceeac6f688ab4d3f9ff2cf979e8edbb1a4dd69c0267bc645bf482ac103f7
3
+ metadata.gz: e4c6ddb5aba085ae7a2c3d0adf46164ecaf9bf3d3e7d6a0ec6891d48a0af0b77
4
+ data.tar.gz: 3612f9a678802ed4353d964734932951fb5a09fdceaf52eca76090907210a225
5
5
  SHA512:
6
- metadata.gz: 41e05f78ec81a2d1d2470bc07ee72cb6660b6214f3e0e99bc6480a7da32d9aed28968d6da2d77a9011240a2c6f758dbc18c1fe19c20aa68f18a25677630d2393
7
- data.tar.gz: e7b103dd1e3b8fda9a16b4766815abb893480664c1b00bca8f65eae6f2468818ba66845943569dcbcfcfdabef98a0e172c4781e544ec605bbeeab57f4875d31d
6
+ metadata.gz: 7181f7d9cd318fb362ab77a6bc9da5b9bf6bc41373b6de6d8e3e41ddb92d23b9a2a46c073d88570692edf644ab748c9f7fdb70e565372e710ece850978ed3cf0
7
+ data.tar.gz: 7998b13d22814989ebcd0cda3fab50b05a522dc853157dde131a0e0bb4b53f06aabb25c84c120136f2204ba289cc274a05793beb039edc466c172835bf3ceca5
@@ -110,8 +110,12 @@ module Parametric
110
110
 
111
111
  def visit(meta_key = nil, &visitor)
112
112
  if sc = meta_data[:schema]
113
- r = sc.schema.visit(meta_key, &visitor)
114
- (meta_data[:type] == :array) ? [r] : r
113
+ if sc.is_a?(Array)
114
+ sc.map { |s| s.schema.visit(meta_key, &visitor) }
115
+ else
116
+ r = sc.schema.visit(meta_key, &visitor)
117
+ (meta_data[:type] == :array) ? [r] : r
118
+ end
115
119
  else
116
120
  meta_key ? meta_data[meta_key] : yield(self)
117
121
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Parametric
4
- VERSION = '0.2.22'
4
+ VERSION = '0.2.23'
5
5
  end
data/spec/schema_spec.rb CHANGED
@@ -322,6 +322,10 @@ describe Parametric::Schema do
322
322
  result = schema.resolve(obj: { name: 'Joe' })
323
323
  expect(result.valid?).to be false
324
324
  end
325
+
326
+ it 'does not break #walk' do
327
+ expect(schema.walk(:default).output).to be_a(Hash)
328
+ end
325
329
  end
326
330
 
327
331
  describe '#tagged_one_of for multiple sub-schemas' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parametric
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.22
4
+ version: 0.2.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ismael Celis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-09-18 00:00:00.000000000 Z
11
+ date: 2025-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake