Class: TypedParams::Parameterizer
- Inherits:
-
Object
- Object
- TypedParams::Parameterizer
- Defined in:
- lib/typed_params/parameterizer.rb
Instance Method Summary collapse
- #call(key: ROOT, value:) ⇒ Object
-
#initialize(schema:, parent: nil) ⇒ Parameterizer
constructor
A new instance of Parameterizer.
Constructor Details
#initialize(schema:, parent: nil) ⇒ Parameterizer
Returns a new instance of Parameterizer.
5 6 7 8 |
# File 'lib/typed_params/parameterizer.rb', line 5 def initialize(schema:, parent: nil) @schema = schema @parent = parent end |
Instance Method Details
#call(key: ROOT, value:) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/typed_params/parameterizer.rb', line 10 def call(key: ROOT, value:) return value if value.is_a?(Parameter) return nil if key == ROOT && value.nil? case schema.children when Array parameterize_array_schema(key:, value:) when Hash parameterize_hash_schema(key:, value:) else parameterize_value(key:, value:) end end |