Module: Unchained::Client::Resource::ClassMethods

Defined in:
lib/unchained/client/resource.rb

Constant Summary collapse

JSON_MAP =
{}

Instance Method Summary collapse

Instance Method Details

#decode_result(json) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/unchained/client/resource.rb', line 31

def decode_result(json)
  instance = self.new
  self::JSON_MAP.each do |k,v|
    instance.send("#{k}=", json[v])
  end
  instance
end

#resource(json_map) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/unchained/client/resource.rb', line 21

def resource(json_map)
  instance_eval do
    const_set("JSON_MAP", json_map)
  end

  class_eval do
    attr_accessor(*json_map.keys)
  end
end