Module: HarukiZaemon::Stripper::ActiveRecord::Base

Defined in:
lib/haruki_zaemon/stripper/active_record/base.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



3
4
5
# File 'lib/haruki_zaemon/stripper/active_record/base.rb', line 3

def self.included(base)
  base.alias_method_chain :write_attribute, :stripper
end

Instance Method Details

#write_attribute_with_stripper(attr_name, value) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/haruki_zaemon/stripper/active_record/base.rb', line 7

def write_attribute_with_stripper(attr_name, value)
  column = column_for_attribute(attr_name)
  unless column && column.type == :binary
    value = value.strip if value.respond_to?(:strip)
    value = nil if value.respond_to?(:empty?) && value.empty? && value != column.default
  end
  write_attribute_without_stripper(attr_name, value)
end