Sha256: 292b42680df5148d171fe77bbb05b6fafd1b1d351ecffbecfb7f589cedd44a46
Contents?: true
Size: 753 Bytes
Versions: 1
Compression:
Stored size: 753 Bytes
Contents
require 'bitmask_attributes/definition' require 'bitmask_attributes/value_proxy' module BitmaskAttributes extend ActiveSupport::Concern module ClassMethods 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,options[:null].nil? || options[:null],options[:zero_value],&extension) bitmask_definitions[attribute].install_on(self) end def bitmask_definitions @bitmask_definitions ||= {} end def bitmasks @bitmasks ||= {} end end end ActiveRecord::Base.send :include, BitmaskAttributes
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bitmask_attributes-0.3.0 | lib/bitmask_attributes.rb |