class RomFactory::Struct

Attributes

schema[R]
values[R]

Public Class Methods

new(values) click to toggle source
# File lib/rom_factory/struct.rb, line 3
def initialize(values)
  @values = values
  define_methods
  set_values
end

Public Instance Methods

define_methods() click to toggle source
# File lib/rom_factory/struct.rb, line 11
def define_methods
  values.each {|k,v|
    define_singleton_method k, Proc.new {
      instance_variable_get("@#{k}")
    }

    define_singleton_method "#{k}=", Proc.new {|v|
      instance_variable_set("@#{k}", v)
    }
  }
end
set_values() click to toggle source
# File lib/rom_factory/struct.rb, line 23
def set_values
  values.each do |k, v|
    send("#{k}=", v)
  end
end
to_h() click to toggle source
# File lib/rom_factory/struct.rb, line 33
def to_h
  values
end
to_hash() click to toggle source
# File lib/rom_factory/struct.rb, line 29
def to_hash
  to_h
end