Sha256: 429339d488d7a31d5d830e60cc3c88386f1badec6dc5dddc049fa5d0eedee38e
Contents?: true
Size: 908 Bytes
Versions: 1
Compression:
Stored size: 908 Bytes
Contents
# encoding: UTF-8 # frozen_string_literal: true require 'active_support/concern' require 'active_support/lazy_load_hooks' module NullifyAttr module Extension extend ActiveSupport::Concern module ClassMethods 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 end end end ActiveSupport.on_load(:active_record) { ActiveRecord::Base.include NullifyAttr::Extension }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nullify-attr-1.0.0 | lib/nullify-attr.rb |