lib/enumify/model.rb in enumify-0.0.6 vs lib/enumify/model.rb in enumify-0.0.7

- old
+ new

@@ -19,14 +19,14 @@ private define_method "_set_#{parameter.to_s}" do |value, should_save| - value = value.to_sym + value = value and value.to_sym old = read_attribute(parameter) ? read_attribute(parameter).to_sym : nil return value if old == value - write_attribute(parameter, value.to_s) + write_attribute(parameter, (value and value.to_s)) save if should_save send("#{parameter.to_s}_changed", old, value) if respond_to?("#{parameter.to_s}_changed", true) and !old.nil? return value end @@ -34,14 +34,14 @@ vals.each do |val| raise "Collision in enum values method #{val}" if respond_to?("#{val.to_s}?") or respond_to?("#{val.to_s}!") or respond_to?("#{val.to_s}") define_method "#{val.to_s}?" do - send("#{parameter.to_s}") == val + send("#{parameter.to_s}") == val end define_method "#{val.to_s}!" do - send("_set_#{parameter.to_s}", val, true) + send("_set_#{parameter.to_s}", val, true) end scope val.to_sym, lambda { where(parameter.to_sym => val.to_s) } end