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