Sha256: f6c72b23c25798dc0b45040a6951059bee94ba4413734f6f798d4c5ba76f81b0
Contents?: true
Size: 631 Bytes
Versions: 7
Compression:
Stored size: 631 Bytes
Contents
require 'active_support/core_ext/object/blank' module RailsStuff # Changes to `nil` assigned blank attributes. # # class App # nullify_blank_attrs :site_url # # ... module NullifyBlankAttrs 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 # Module to store generated methods, so they can be overriden in model. def nullify_blank_attrs_methods @nullify_blank_attrs_methods ||= Module.new.tap { |x| prepend x } end end end
Version data entries
7 entries across 7 versions & 1 rubygems