Class: PaysonAPI::OrderItem
- Inherits:
-
Object
- Object
- PaysonAPI::OrderItem
- Defined in:
- lib/payson_api/order_item.rb
Constant Summary collapse
- FORMAT_STRING =
"orderItemList.orderItem(%d).%s"
Instance Attribute Summary collapse
-
#description ⇒ Object
Returns the value of attribute description.
-
#quantity ⇒ Object
Returns the value of attribute quantity.
-
#sku ⇒ Object
Returns the value of attribute sku.
-
#tax ⇒ Object
Returns the value of attribute tax.
-
#unit_price ⇒ Object
Returns the value of attribute unit_price.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(description, unit_price, quantity, tax, sku) ⇒ OrderItem
constructor
A new instance of OrderItem.
Constructor Details
#initialize(description, unit_price, quantity, tax, sku) ⇒ OrderItem
Returns a new instance of OrderItem.
8 9 10 11 12 13 14 |
# File 'lib/payson_api/order_item.rb', line 8 def initialize(description, unit_price, quantity, tax, sku) @description = description @unit_price = unit_price @quantity = quantity @tax = tax @sku = sku end |
Instance Attribute Details
#description ⇒ Object
Returns the value of attribute description.
5 6 7 |
# File 'lib/payson_api/order_item.rb', line 5 def description @description end |
#quantity ⇒ Object
Returns the value of attribute quantity.
5 6 7 |
# File 'lib/payson_api/order_item.rb', line 5 def quantity @quantity end |
#sku ⇒ Object
Returns the value of attribute sku.
5 6 7 |
# File 'lib/payson_api/order_item.rb', line 5 def sku @sku end |
#tax ⇒ Object
Returns the value of attribute tax.
5 6 7 |
# File 'lib/payson_api/order_item.rb', line 5 def tax @tax end |
#unit_price ⇒ Object
Returns the value of attribute unit_price.
5 6 7 |
# File 'lib/payson_api/order_item.rb', line 5 def unit_price @unit_price end |
Class Method Details
.parse(data) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/payson_api/order_item.rb', line 30 def self.parse(data) [].tap do |order_items| i = 0 while data[FORMAT_STRING % [i, 'description']] description = CGI.unescape(data[FORMAT_STRING % [i, 'description']].to_s) unit_price = data[FORMAT_STRING % [i, 'unitPrice']] quantity = data[FORMAT_STRING % [i, 'quantity']] tax = data[FORMAT_STRING % [i, 'taxPercentage']] sku = data[FORMAT_STRING % [i, 'sku']] order_items << OrderItem.new( description, unit_price, quantity, tax, sku ) i += 1 end end end |
.to_hash(order_items) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/payson_api/order_item.rb', line 16 def self.to_hash(order_items) {}.tap do |hash| order_items.each_with_index do |item, index| hash.merge!({ FORMAT_STRING % [index, 'description'] => item.description, FORMAT_STRING % [index, 'unitPrice'] => item.unit_price, FORMAT_STRING % [index, 'quantity'] => item.quantity, FORMAT_STRING % [index, 'taxPercentage'] => item.tax, FORMAT_STRING % [index, 'sku'] => item.sku }) end end end |