Method: Highway::Steps::Types::Hash#typecheck
- Defined in:
- lib/highway/steps/types/hash.rb
#typecheck(value) ⇒ Hash?
Typecheck and coerce a value if possible.
This method returns a typechecked and coerced value or ‘nil` if value has invalid type and can’t be coerced.
35 36 37 38 39 |
# File 'lib/highway/steps/types/hash.rb', line 35 def typecheck(value) return nil unless value.is_a?(::Hash) typechecked = Utilities::hash_map(value) { |key, element| [key, @element_type.typecheck_and_validate(element)] } typechecked if typechecked.values.all? { |element| !element.nil? } end |