class FidoMetadata::Coercer::BitField

Public Class Methods

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

Public Instance Methods

coerce(value) click to toggle source
# File lib/fido_metadata/coercer/bit_field.rb, line 11
def coerce(value)
  results = @mapping.reject { |flag, _constant| flag & value == 0 }.values

  if @single_value
    results.first
  else
    results
  end
end