class Models::Base

Public Class Methods

new(raw) click to toggle source
# File lib/bob/models/base.rb, line 5
def initialize(raw)
  attributes = Bob::Util.underscorize_hash(raw)

  attributes.each do |k, v|
    instance_variable_set("@#{k}", v.is_a?(Hash) ? Models::Base.new(v) : v)
    self.class.send(:define_method, k, proc { instance_variable_get("@#{k}") })
    self.class.send(:define_method, "#{k}=", proc { |val| instance_variable_set("@#{k}", val) })
  end
end