class Schema::ModelNormalizer

Normalize all attributes of a model

Public Class Methods

new() click to toggle source
# File lib/schema/model_normalizer.rb, line 6
def initialize
  @attribute_normalizers = {}
end

Public Instance Methods

add(attribute, method, options = {}) click to toggle source
# File lib/schema/model_normalizer.rb, line 10
def add(attribute, method, options = {})
  @attribute_normalizers[attribute] ||= AttributeNormalizer.new
  @attribute_normalizers[attribute].add(method, options)
end
normalize(model) click to toggle source
# File lib/schema/model_normalizer.rb, line 15
def normalize(model)
  @attribute_normalizers.each do |attribute, attribute_normalizer|
    attribute_normalizer.normalize_model_attribute(model, attribute)
  end
  model
end