Module: NullifyAttr::Extension::ClassMethods

Defined in:
lib/nullify-attr.rb

Instance Method Summary collapse

Instance Method Details

#nullify(*attributes) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/nullify-attr.rb', line 12

def nullify(*attributes)
  before_validation attributes.extract_options! do
    attributes.each do |attribute|
      case attribute
        when Regexp
          self.class.column_names.each do |column_name|
            if column_name.respond_to?(:match?) ? column_name.match?(attribute) : column_name =~ attribute
              send("#{column_name}=", nil)
            end
          end
        else
          send("#{attribute}=", nil)
      end
    end
    nil
  end
end