module ParamsReady::Marshaller::HashSetMarshallers::SetMarshaller
Public Class Methods
canonicalize(definition, set, context, validator, freeze: false)
click to toggle source
# File lib/params_ready/marshaller/hash_set_marshallers.rb, line 45 def self.canonicalize(definition, set, context, validator, freeze: false) canonicalize_collection(definition, context, validator, freeze: freeze) do |child| value = definition.values[child.name] set.member?(value) || set.member?(value.to_s) end end
marshal(parameter, intent)
click to toggle source
# File lib/params_ready/marshaller/hash_set_marshallers.rb, line 52 def self.marshal(parameter, intent) intent = parameter.class.intent_for_set(intent) members = parameter.send(:bare_value).select do |_, m| m.unwrap_or(false) == true && m.eligible_for_output?(intent) end.map do |key, _| parameter.definition.values[key] end members.to_set end