module ActiveRecordDefineNils::Rails3Model

Public Instance Methods

read_attribute(attr_name) click to toggle source
Calls superclass method
# File lib/activerecord-define_nils/rails3_model.rb, line 45
def read_attribute(attr_name)
  value = super(attr_name)
  (@define_nils_no_read_mod ||= false) ? value : (self.nil_definitions && self.nil_definitions[attr_name.to_sym] && self.nil_definitions[attr_name.to_sym].include?(value) ? nil : value)
end

Private Instance Methods

create() click to toggle source
Calls superclass method
# File lib/activerecord-define_nils/rails3_model.rb, line 52
def create
  @define_nils_no_read_mod = true
  if self.nil_saved_as
    self.nil_saved_as.each do |column, translated_nil|
      if respond_to?(column) && respond_to?("#{column}=") && self.__send__(column).nil?
        write_attribute(column.to_s, translated_nil)
      end
    end
  end

  super
ensure
  @define_nils_no_read_mod = false
end
update(*args) click to toggle source
Calls superclass method
# File lib/activerecord-define_nils/rails3_model.rb, line 67
def update(*args)
  @define_nils_no_read_mod = true
  if self.nil_saved_as
    self.nil_saved_as.each do |column, translated_nil|
      if respond_to?(column) && respond_to?("#{column}=") && self.__send__(column).nil?
        write_attribute(column.to_s, translated_nil)
      end
    end
  end
  
  super
ensure
  @define_nils_no_read_mod = false
end