class HumanAttributes::MethodBuilder

Attributes

model_class[R]

Public Class Methods

new(model_class) click to toggle source
# File lib/human_attributes/method_builder.rb, line 7
def initialize(model_class)
  @model_class = model_class
end

Public Instance Methods

build(formatter) click to toggle source
# File lib/human_attributes/method_builder.rb, line 11
def build(formatter)
  model_class.send(:define_method, formatter.method_name) do
    value = send(formatter.attribute) || formatter.default
    formatter.apply(self, value)
  end

  formatter.method_name
end