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

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

Constant Summary collapse

JSON_MAP =
{}

Instance Method Summary collapse

Instance Method Details

#decode_result(json) ⇒ Object



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

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



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

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

  class_eval do
    attr_accessor(*json_map.keys)
  end
end