Module: BitmaskAttributes::ClassMethods

Defined in:
lib/bitmask_attributes.rb

Instance Method Summary collapse

Instance Method Details

#bitmask(attribute, options = {}, &extension) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/bitmask_attributes.rb', line 8

def bitmask(attribute, options={}, &extension)
  unless options[:as] && options[:as].kind_of?(Array)
    raise ArgumentError, "Must provide an Array :as option"
  end
  bitmask_definitions[attribute] = Definition.new(attribute, options[:as].to_a, &extension)
  bitmask_definitions[attribute].install_on(self)
end

#bitmask_definitionsObject



16
17
18
# File 'lib/bitmask_attributes.rb', line 16

def bitmask_definitions
  @bitmask_definitions ||= {}
end

#bitmasksObject



20
21
22
# File 'lib/bitmask_attributes.rb', line 20

def bitmasks
  @bitmasks ||= {}
end