module Shmidi::Base::ClassMethods

Public Instance Methods

ensure(obj) { |m| ... } click to toggle source
# File lib/shmidi/base.rb, line 60
def ensure(obj)
  # ------
  m = if obj.kind_of?(self)
    obj
  elsif obj.kind_of?(Hash)
    self.json_create(obj)
  elsif obj.kind_of?(String)
    self.ensure(Shmidi::JSON_PARSE(obj))
  else
    nil
  end
  (block_given? && m) ? yield(m) : m
end
json_create(hash = {}) click to toggle source
# File lib/shmidi/base.rb, line 74
def json_create(hash = {})
  obj = allocate
  hash.each do |key, value|
    begin
      obj.instance_variable_set("@#{key}", value)
    rescue Exception
      Shmidi.ON_EXCEPTION
    end
  end
  obj.version ||= 0
  obj.init
  obj.reset
  return obj
end