class Fried::Schema::Attribute::DefineReader

Define reader based on attribute {Definition}

Public Class Methods

build() click to toggle source
# File lib/fried/schema/attribute/define_reader.rb, line 6
def self.build
  new
end
call(attribute_definition, klass) click to toggle source
# File lib/fried/schema/attribute/define_reader.rb, line 10
def self.call(attribute_definition, klass)
  instance = build
  instance.(attribute_definition, klass)
end

Public Instance Methods

call(definition, klass) click to toggle source

Creates read method @param definition [Definition] @param klass [Class, Module] @return [Definition]

# File lib/fried/schema/attribute/define_reader.rb, line 19
def call(definition, klass)
  variable = definition.instance_variable

  klass.instance_eval do
    define_method(definition.reader) { instance_variable_get(variable) }
  end
end