Module: Scrubby::InstanceMethods
- Defined in:
- lib/scrubby.rb
Instance Method Summary collapse
-
#scrub(value) ⇒ Object
The
scrub
instance method is the default way in which incoming values are cleaned. -
#write_attribute_with_scrub(attribute, value) ⇒ Object
An alias of the
write_attribute
method,write_attribute_with_scrub
will check whether a scrubber exists for the given attribute and if so, scrub the given value before passing it on to the originalwrite_attribute
method.
Instance Method Details
#scrub(value) ⇒ Object
The scrub
instance method is the default way in which incoming values are cleaned. By default, the behavior is to strip string values and to return nil for blank strings.
If a different behavoir is required, this method can be overridden at the ActiveRecord::Base level and/or at the level of any of ActiveRecord’s inherited models.
90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/scrubby.rb', line 90 def scrub(value) value = value.dup if value.duplicable? case value when String value.strip! value.blank? ? nil : value else value end end |
#write_attribute_with_scrub(attribute, value) ⇒ Object
An alias of the write_attribute
method, write_attribute_with_scrub
will check whether a scrubber exists for the given attribute and if so, scrub the given value before passing it on to the original write_attribute
method.
77 78 79 80 81 82 83 |
# File 'lib/scrubby.rb', line 77 def write_attribute_with_scrub(attribute, value) if self.class.scrubby? && scrubber = scrubbers[attribute.to_s] value = scrubber.bind(self).call(value) end write_attribute_without_scrub(attribute, value) end |