class Fried::Schema::Attribute::DefineMethods

Define methods based on attributes registered in {::Fried::Schema::Definition}

Attributes

define_reader[RW]
define_writer[RW]

Public Class Methods

build() click to toggle source
# File lib/fried/schema/attribute/define_methods.rb, line 17
def self.build
  new.tap do |instance|
    instance.define_reader = ::Fried::Schema::Attribute::DefineReader.build
    instance.define_writer = ::Fried::Schema::Attribute::DefineWriter.build
  end
end
call(attribute_definition, klass) click to toggle source
# File lib/fried/schema/attribute/define_methods.rb, line 24
def self.call(attribute_definition, klass)
  instance = build
  instance.(attribute_definition, klass)
end
new() click to toggle source
# File lib/fried/schema/attribute/define_methods.rb, line 12
def initialize
  self.define_reader = ::Fried::Schema::Attribute::DefineReader.new
  self.define_writer = ::Fried::Schema::Attribute::DefineWriter.new
end

Public Instance Methods

call(attribute_definition, klass) click to toggle source

Creates methods to read/write attribute with type checking @param attribute_definition [AttributeDefinition] @param klass [Class, Module] @return [AttributeDefinition]

# File lib/fried/schema/attribute/define_methods.rb, line 33
def call(attribute_definition, klass)
  define_reader.(attribute_definition, klass)
  define_writer.(attribute_definition, klass)
  attribute_definition
end