lib/simple_enum.rb in simple_enum-1.6.4 vs lib/simple_enum.rb in simple_enum-1.6.5

- old
+ new

@@ -174,20 +174,20 @@ # raise error if enum_cd == column raise ArgumentError, "[simple_enum] use different names for #{enum_cd}'s name and column name." if enum_cd.to_s == options[:column].to_s # generate getter define_method("#{enum_cd}") do - id = respond_to?(:read_attribute) ? read_attribute(options[:column]) : send(options[:column]) + id = send(options[:column]) values_inverted[id] end # generate setter define_method("#{enum_cd}=") do |new_value| real = new_value.blank? ? nil : values[EnumHash.symbolize(new_value)] real = new_value if real.nil? && values_inverted[new_value].present? raise(ArgumentError, "Invalid enumeration value: #{new_value}") if (options[:whiny] and real.nil? and !new_value.blank?) - respond_to?(:write_attribute) ? write_attribute(options[:column], real) : send("#{options[:column]}=", real) + send("#{options[:column]}=", real) end # generate checker define_method("#{enum_cd}?") do |*args| current = send(enum_cd) @@ -242,26 +242,24 @@ values.each do |k,code| sym = EnumHash.symbolize(k) define_method("#{prefix}#{sym}?") do - current = respond_to?(:read_attribute) ? read_attribute(options[:column]) : send(options[:column]) + current = send(options[:column]) code == current end define_method("#{prefix}#{sym}!") do - respond_to?(:write_attribute) ? write_attribute(options[:column], code) : send("#{options[:column]}=", code) + send("#{options[:column]}=", code) sym end # allow class access to each value unless options[:slim] === :class metaclass.send(:define_method, "#{prefix}#{sym}", Proc.new { |*args| args.first ? k : code }) end end end end - - include Validation def human_enum_name(enum, key, options = {}) defaults = lookup_ancestors.map do |klass| :"#{self.i18n_scope}.enums.#{klass.model_name.i18n_key}.#{enum}.#{key}" end