class AuditLoggable::ChangeSet::EnumAttributesNormalizer

Public Class Methods

new(klass, changes) click to toggle source
# File lib/audit_loggable/change_set.rb, line 27
def initialize(klass, changes)
  @klass = klass
  @changes = changes
end

Public Instance Methods

call() click to toggle source
# File lib/audit_loggable/change_set.rb, line 32
def call
  @klass.defined_enums.each_pair.with_object(@changes.dup) do |(name, values), changes|
    next unless changes.key?(name)

    changes[name] =
      if changes[name].is_a? ::Array
        changes[name].map { |v| values[v] }
      else
        changes[name] = values[changes[name]]
      end
  end
end