lib/bitmask_attribute/value_proxy.rb in bitmask-attribute-1.0.0 vs lib/bitmask_attribute/value_proxy.rb in bitmask-attribute-1.1.0

- old
+ new

@@ -31,11 +31,11 @@ ####### private ####### def validate! - each do |value| + each do |value| if @mapping.key? value true else raise ArgumentError, "Unsupported value for `#{@attribute}': #{value.inspect}" end @@ -51,10 +51,10 @@ def serialize! @record.send(:write_attribute, @attribute, to_i) end def extract_values - stored = @record.send(:read_attribute, @attribute) || 0 + stored = [@record.send(:read_attribute, @attribute) || 0, 0].max @mapping.inject([]) do |values, (value, bitmask)| returning values do values << value.to_sym if (stored & bitmask > 0) end end