class FidoMetadata::Coercer::MagicNumber

Public Class Methods

new(mapping, array: false) click to toggle source
# File lib/fido_metadata/coercer/magic_number.rb, line 6
def initialize(mapping, array: false)
  @mapping = mapping
  @array = array
end

Public Instance Methods

coerce(values) click to toggle source
# File lib/fido_metadata/coercer/magic_number.rb, line 11
def coerce(values)
  if @array
    return values unless values.all? { |value| value.is_a?(Integer) }

    values.map { |value| @mapping[value] }.compact
  else
    return values unless values.is_a?(Integer)

    @mapping[values]
  end
end