module NullifyAttr::Extension::ClassMethods

Public Instance Methods

nullify(*attributes) click to toggle source
# 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