Class: RSchemaHamster::GenericHamsterSetSchema

Inherits:
Struct
  • Object
show all
Defined in:
lib/rschema_hamster/dsl.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#subschemaObject

Returns the value of attribute subschema

Returns:

  • (Object)

    the current value of subschema



39
40
41
# File 'lib/rschema_hamster/dsl.rb', line 39

def subschema
  @subschema
end

Instance Method Details

#schema_walk(value, mapper) ⇒ Object



40
41
42
43
44
45
46
47
48
49
# File 'lib/rschema_hamster/dsl.rb', line 40

def schema_walk(value, mapper)
  return RSchema::ErrorDetails.new(value, 'is not a Hamster::Set') if not value.is_a?(Hamster::Set)

  value.reduce(Hamster.set) do |accum, subvalue|
    subvalue_walked, error = RSchema.walk(subschema, subvalue, mapper)
    break error.extend_key_path('.values') if error

    accum.add subvalue_walked
  end
end