module RailsStuff::NullifyBlankAttrs

Changes to `nil` assigned blank attributes.

class App
  nullify_blank_attrs :site_url
  # ...

Public Instance Methods

nullify_blank_attrs(*attrs) click to toggle source
Calls superclass method
# File lib/rails_stuff/nullify_blank_attrs.rb, line 10
def nullify_blank_attrs(*attrs)
  RailsStuff.deprecation_07.warn('Use transform_attrs *attrs, with: :nullify')
  nullify_blank_attrs_methods.class_eval do
    attrs.each do |attr|
      define_method("#{attr}=") { |val| super(val.presence) }
    end
  end
end
nullify_blank_attrs_methods() click to toggle source

Module to store generated methods, so they can be overriden in model.

# File lib/rails_stuff/nullify_blank_attrs.rb, line 20
def nullify_blank_attrs_methods
  @nullify_blank_attrs_methods ||= Module.new.tap { |x| prepend x }
end