Class: Chain::ResponseObject
- Inherits:
-
Object
- Object
- Chain::ResponseObject
show all
- Defined in:
- lib/chain/response_object.rb
Direct Known Subclasses
AccessToken, Account, Account::Key, Asset, Asset::Key, AuthorizationGrant, Balance, Config::Info, Config::Info::BuildConfig, Config::Info::Snapshot, MockHSM::Key, Receiver, Transaction, Transaction::Input, Transaction::Output, Transaction::SubmitResponse, Transaction::Template, TransactionFeed, UnspentOutput
Defined Under Namespace
Classes: DetranslateError, TranslateError
Instance Method Summary
collapse
Constructor Details
Returns a new instance of ResponseObject.
6
7
8
9
10
11
|
# File 'lib/chain/response_object.rb', line 6
def initialize(raw_attribs)
raw_attribs.each do |k, v|
next unless self.class.has_attrib?(k)
self[k] = self.class.translate(k, v) unless v.nil?
end
end
|
Instance Method Details
#[](attrib_name) ⇒ Object
29
30
31
32
33
34
|
# File 'lib/chain/response_object.rb', line 29
def [](attrib_name)
attrib_name = attrib_name.to_sym
raise KeyError.new("key not found: #{attrib_name}") unless self.class.attrib_opts.key?(attrib_name)
instance_variable_get "@#{attrib_name}"
end
|
#[]=(attrib_name, value) ⇒ Object
36
37
38
39
40
41
|
# File 'lib/chain/response_object.rb', line 36
def []=(attrib_name, value)
attrib_name = attrib_name.to_sym
raise KeyError.new("key not found: #{attrib_name}") unless self.class.attrib_opts.key?(attrib_name)
instance_variable_set "@#{attrib_name}", value
end
|
#to_h ⇒ Object
13
14
15
16
17
18
|
# File 'lib/chain/response_object.rb', line 13
def to_h
self.class.attrib_opts.keys.reduce({}) do |memo, name|
memo[name] = instance_variable_get("@#{name}")
memo
end
end
|
#to_json(opts = nil) ⇒ Object
20
21
22
23
24
25
26
27
|
# File 'lib/chain/response_object.rb', line 20
def to_json(opts = nil)
h = to_h.reduce({}) do |memo, (k, v)|
memo[k] = self.class.detranslate(k, v)
memo
end
h.to_json
end
|