Module: TypedParameter::PermitFieldGenerator
- Defined in:
- lib/typed_parameter/permit_field_generator.rb
Class Method Summary collapse
Class Method Details
.generate(name, type) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/typed_parameter/permit_field_generator.rb', line 4 def generate(name, type) type_class = [type].flatten.first props = if type.is_a? Array type_class.in?(TypedParameter::ParameterTypes.types) ? [] : generate_properties(type_class) else generate_properties(type_class) end props ? [[name, props]].to_h : name end |
.generate_properties(type) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/typed_parameter/permit_field_generator.rb', line 16 def generate_properties(type) return if type.in? TypedParameter::ParameterTypes.types return type.keys if type.is_a? Hash type.fields end |