module Paramore::PermittedParameterArgument
Public Instance Methods
flat_parameters(parsed)
click to toggle source
# File lib/paramore/permitted_parameter_argument.rb, line 29 def flat_parameters(parsed) parsed.select { |arg| arg.is_a?(Symbol) } end
merge_hashes(parsed)
click to toggle source
# File lib/paramore/permitted_parameter_argument.rb, line 25 def merge_hashes(parsed) (flat_parameters(parsed) + nested_parameters(parsed)).compact end
nested_parameters(parsed)
click to toggle source
# File lib/paramore/permitted_parameter_argument.rb, line 33 def nested_parameters(parsed) [parsed.reject { |arg| arg.is_a?(Symbol) }.reduce(:merge)] end
parse(types_definition)
click to toggle source
# File lib/paramore/permitted_parameter_argument.rb, line 5 def parse(types_definition) merge_hashes( types_definition.map do |key, definition| case definition when Hash { key => merge_hashes(parse(definition)) } when Paramore::FieldSchema case definition.type when Array { key => [] } when Hash { key => merge_hashes(parse(definition.type)) } else key end end end ) end