Sha256: 8be3525c6bf859d272aeb185b11fc4f53c9e6299df74a4b98ef63d31753a4666
Contents?: true
Size: 680 Bytes
Versions: 10
Compression:
Stored size: 680 Bytes
Contents
class PlaidObject def initialize(hash) hash.keys.each do |key| self.class.send(:define_method, "#{key}") do instance_variable_get("@#{key}") end if hash[key].is_a? Array arr = [] hash[key].each do |chunk| if chunk.is_a? Hash arr << PlaidObject.new(chunk) else arr << chunk end end instance_variable_set("@#{key}", arr) elsif hash[key].is_a? Hash h = hash[key] instance_variable_set("@#{key}", h) else eval("@#{key} = '#{encode(hash[key].to_s)}'") end end end def encode(str) str.gsub("'", "") end end
Version data entries
10 entries across 10 versions & 1 rubygems