class Tamber::TamberObject

Public Class Methods

construct_from(values) click to toggle source
# File lib/tamber/tamber_object.rb, line 12
def self.construct_from(values)
  values = Tamber::Util.symbolize_names(values)
  self.new(values)
end
curvert(values={}) click to toggle source
# File lib/tamber/tamber_object.rb, line 17
def self.curvert(values={})
  case values
  when Hash
    if values.has_key?(:object)
      Tamber::Util.object_classes.fetch(values[:object],TamberObject).new(values)
    else
      values.each do |k,v|
        values[k] = curvert(v)
      end
    end
  when Array
    values.map { |i| curvert(i) }
  else
    values
  end
end
new(values={}) click to toggle source
# File lib/tamber/tamber_object.rb, line 4
def initialize(values={})
  values.each do |k,v|
    val = self.class.curvert(v)
    self.instance_variable_set("@#{k}", val)
    self.singleton_class.send(:attr_accessor, k)
  end
end