class TorgMailruApi::APIRequest::DeepOpenStruct
Public Class Methods
load(item)
click to toggle source
# File lib/torg_mailru_api.rb, line 54 def self.load item raise ArgumentError, "DeepOpenStruct must be passed a Hash or Array" unless(item.is_a?(Hash) || item.is_a?(Array)) self.convert_from_hash_recursive item end
Private Class Methods
convert_from_hash_recursive(obj)
click to toggle source
# File lib/torg_mailru_api.rb, line 61 def self.convert_from_hash_recursive obj result = obj case result when Hash result = result.dup result.each do |k,v| result[k] = convert_from_hash_recursive(v) end result = DeepOpenStruct.new result when Array result = result.map { |v| convert_from_hash_recursive(v) } end result end
Public Instance Methods
to_h()
click to toggle source
# File lib/torg_mailru_api.rb, line 50 def to_h convert_to_hash_recursive self.dup end
Private Instance Methods
convert_to_hash_recursive(obj)
click to toggle source
# File lib/torg_mailru_api.rb, line 76 def convert_to_hash_recursive obj result = obj case result when OpenStruct result = result.marshal_dump result.each do |k,v| result[k] = convert_to_hash_recursive(v) end when Array result = result.map { |v| convert_to_hash_recursive(v) } end result end