Class: Igniter::LedgerClient::Results::ReceiptResult
- Inherits:
-
Object
- Object
- Igniter::LedgerClient::Results::ReceiptResult
show all
- Includes:
- HashAccess
- Defined in:
- lib/igniter/ledger_client/results.rb
Constant Summary
collapse
- FIELDS =
%i[
schema_version
kind
status
name
store
key
fact_id
value_hash
warnings
errors
derived
].freeze
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from HashAccess
#[]
Constructor Details
Returns a new instance of ReceiptResult.
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/igniter/ledger_client/results.rb', line 31
def initialize(raw = {})
data = self.class.normalize(raw)
@schema_version = data[:schema_version]
@kind = token(data[:kind])
@status = token(data[:status])
@name = token(data[:name])
@store = token(data[:store])
@key = data[:key]
@fact_id = data[:fact_id]
@value_hash = data[:value_hash]
@warnings = Array(data[:warnings]).freeze
@errors = Array(data[:errors]).freeze
@derived = Array(data[:derived]).freeze
freeze
end
|
Class Method Details
.normalize(raw) ⇒ Object
69
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/igniter/ledger_client/results.rb', line 69
def self.normalize(raw)
hash = if raw.respond_to?(:to_h)
raw.to_h
else
FIELDS.each_with_object({}) do |field, acc|
acc[field] = raw.public_send(field) if raw.respond_to?(field)
end
end
hash.to_h.transform_keys(&:to_sym)
end
|
Instance Method Details
#accepted? ⇒ Boolean
47
|
# File 'lib/igniter/ledger_client/results.rb', line 47
def accepted? = status == :accepted
|
#deduplicated? ⇒ Boolean
51
|
# File 'lib/igniter/ledger_client/results.rb', line 51
def deduplicated? = status == :deduplicated
|
#rejected? ⇒ Boolean
49
|
# File 'lib/igniter/ledger_client/results.rb', line 49
def rejected? = status == :rejected
|
#to_h ⇒ Object
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/igniter/ledger_client/results.rb', line 53
def to_h
{
schema_version: schema_version,
kind: kind,
status: status,
name: name,
store: store,
key: key,
fact_id: fact_id,
value_hash: value_hash,
warnings: warnings,
errors: errors,
derived: derived
}.compact
end
|