Method: Pageflow::OutputSource#output_presences=

Defined in:
app/models/concerns/pageflow/output_source.rb

#output_presences=(presences) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'app/models/concerns/pageflow/output_source.rb', line 26

def output_presences=(presences)
  boolean_presences = presences.stringify_keys.each_with_object({}) do |(key, value), result|
    if value == true || value == STATE_MAPPING[true]
      result[key] = true
    elsif value == false || value == STATE_MAPPING[false]
      result[key] = false
    elsif value.blank?
      result[key] = nil
    end
  end

  self[:output_presences] = output_presences
                            .merge(boolean_presences)
                            .reject { |_key, value| value.nil? }
end