module ActiveRecord::Normalizations
Constants
- DEFAULT_OPTIONS
- SHARED_OPTIONS
- VERSION
Public Instance Methods
save(**options)
click to toggle source
Calls superclass method
# File lib/activerecord-normalizations/normalizations.rb, line 58 def save(**options) _perform_normalizations(options) if options[:validate] == false super end
save!(**options)
click to toggle source
Calls superclass method
# File lib/activerecord-normalizations/normalizations.rb, line 63 def save!(**options) _perform_normalizations(options) if options[:validate] == false super end
valid?(*args)
click to toggle source
Calls superclass method
# File lib/activerecord-normalizations/normalizations.rb, line 68 def valid?(*args) _perform_normalizations(DEFAULT_OPTIONS) super end
Private Instance Methods
_perform_normalizations(options)
click to toggle source
# File lib/activerecord-normalizations/normalizations.rb, line 75 def _perform_normalizations(options) return if options[:normalize] == false _normalizers.each do |attr, norms| value = self[attr] if value.present? && will_save_change_to_attribute?(attr) self[attr] = norms.reduce(value) { |res, n| n.call(res) } end end end