Class: SimpleEnum::Multiple::Accessors::BitwiseAccessor

Inherits:
MultipleAccessor
  • Object
show all
Defined in:
lib/simple_enum/multiple/accessors/bitwise_accessor.rb

Instance Method Summary collapse

Methods inherited from MultipleAccessor

#fetch_keys, #fetch_values, #filter_keys, #initialize, #read, #selected?, #was, #write

Constructor Details

This class inherits a constructor from SimpleEnum::Multiple::Accessors::MultipleAccessor

Instance Method Details

#init(klass) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/simple_enum/multiple/accessors/bitwise_accessor.rb', line 8

def init(klass)
  source = self.source

  klass.class_eval do
    serialize source, SimpleEnum::Multiple::Coders::Bitwise
  end
end

#scope(collection, value) ⇒ Object



16
17
18
19
# File 'lib/simple_enum/multiple/accessors/bitwise_accessor.rb', line 16

def scope(collection, value)
  column = Arel::Nodes::Group.new(collection.arel_table[source]).to_sql
  collection.where("#{column} >> ? & 1 = 1", value)
end