class ClassFactory::GenericClass

Public Class Methods

new(hash) click to toggle source
# File lib/client/class_factory.rb, line 19
def initialize(hash)
  hash.each do |k,v|
    self.instance_variable_set("@#{k}", v)
    self.class.send(:define_method, k, proc{self.instance_variable_get("@#{k}")})
    self.class.send(:define_method, "#{k}=", proc{|v| self.instance_variable_set("@#{k}", v)})
  end
end

Public Instance Methods

create_class(name) click to toggle source
# File lib/client/class_factory.rb, line 16
def create_class name
  Object.const_set(name.classify,
  Class.new do
    def initialize(hash)
      hash.each do |k,v|
        self.instance_variable_set("@#{k}", v)
        self.class.send(:define_method, k, proc{self.instance_variable_get("@#{k}")})
        self.class.send(:define_method, "#{k}=", proc{|v| self.instance_variable_set("@#{k}", v)})
      end
    end
  end
  )
end