module TypedParameter::PermitFieldGenerator
Public Class Methods
generate(name, type)
click to toggle source
# 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)
click to toggle source
# 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