Module: RailsStuff::NullifyBlankAttrs
- Defined in:
- lib/rails_stuff/nullify_blank_attrs.rb
Overview
Changes to ‘nil` assigned blank attributes.
class App
nullify_blank_attrs :site_url
# ...
Instance Method Summary collapse
- #nullify_blank_attrs(*attrs) ⇒ Object
-
#nullify_blank_attrs_methods ⇒ Object
Module to store generated methods, so they can be overriden in model.
Instance Method Details
#nullify_blank_attrs(*attrs) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/rails_stuff/nullify_blank_attrs.rb', line 10 def nullify_blank_attrs(*attrs) 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 ⇒ Object
Module to store generated methods, so they can be overriden in model.
19 20 21 |
# File 'lib/rails_stuff/nullify_blank_attrs.rb', line 19 def nullify_blank_attrs_methods @nullify_blank_attrs_methods ||= Module.new.tap { |x| prepend x } end |