module Gemmy::Patches::ObjectPatch::InstanceMethods::ObjectState

Public Instance Methods

object_state(data=nil) click to toggle source

obj.object_state(:a=>3, :b=>4) obj.a #=> 3 obj.b #=> 4

# File lib/gemmy/patches/object_patch.rb, line 41
def object_state(data=nil)
  if data
    instance_variables.each do |iv|
      name = iv.to_s.sub(/^[@]/, '').to_sym
      instance_variable_set(iv, data[name])
    end
  else
    data = {}
    instance_variables.each do |iv|
      name = iv.to_s.sub(/^[@]/, '').to_sym
      data[name] = instance_variable_get(iv)
    end
    data
  end
end