module ActiveRecord::Normalizations::ClassMethods
Public Instance Methods
normalizes(attr, **normalizations)
click to toggle source
normalize :firstname, spaces: true, text_transform: :capitalize
# File lib/activerecord-normalizations/normalizations.rb, line 17 def normalizes(attr, **normalizations) attr_str = attr.to_s normalizations.each do |key, options| next unless options key = "#{key.to_s.camelize}Normalizer" begin klass = key.include?("::") ? key.constantize : const_get(key) rescue NameError raise ArgumentError, "Unknown validator: '#{key}'" end normalizer = klass.new(_parse_normalizer_options(options)) _normalizers[attr_str] << normalizer end end
Private Instance Methods
_parse_normalizer_options(opts)
click to toggle source
# File lib/activerecord-normalizations/normalizations.rb, line 44 def _parse_normalizer_options(opts) case opts when TrueClass DEFAULT_OPTIONS when Hash opts when String, Symbol { with: opts } else raise end end