Class: OrangeData::ReceiptContent::Position

Inherits:
PayloadContent show all
Defined in:
lib/orange_data/receipt.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from PayloadContent

#==, #assign_attributes, #attributes, #to_json

Constructor Details

#initialize(payload = {}) ⇒ Position



105
106
107
108
109
# File 'lib/orange_data/receipt.rb', line 105

def initialize(payload={})
  @payload = payload
  @supplier_info = SupplierInfo.new(@payload['supplierInfo']) if @payload['supplierInfo']
  @agent_info = AgentInfo.new(@payload['agentInfo']) if @payload['agentInfo']
end

Instance Attribute Details

#agent_infoObject (readonly)

Returns the value of attribute agent_info.



128
129
130
# File 'lib/orange_data/receipt.rb', line 128

def agent_info
  @agent_info
end

#supplier_infoObject (readonly)

Returns the value of attribute supplier_info.



128
129
130
# File 'lib/orange_data/receipt.rb', line 128

def supplier_info
  @supplier_info
end

Instance Method Details

#set_agent_info(**options) ⇒ Object



123
124
125
126
# File 'lib/orange_data/receipt.rb', line 123

def set_agent_info(**options)
  @agent_info = AgentInfo.new.assign_attributes(options)
  self
end

#set_supplier_info(**options) ⇒ Object



118
119
120
121
# File 'lib/orange_data/receipt.rb', line 118

def set_supplier_info(**options)
  @supplier_info = SupplierInfo.new.assign_attributes(options)
  self
end

#to_hashObject



111
112
113
114
115
116
# File 'lib/orange_data/receipt.rb', line 111

def to_hash
  @payload.dup.tap{|h|
    h["supplierInfo"] = supplier_info.to_hash if supplier_info
    h["agentInfo"] = agent_info.to_hash if agent_info
  }
end