class ClearSaleClearId::Order

Constants

STATUS
STATUS_APPROVED
STATUS_CANCELLED
STATUS_NEW
STATUS_UNAPPROVED

Public Class Methods

new(params={}) click to toggle source
# File lib/clear_sale_clear_id/order.rb, line 16
def initialize(params={})
  params.merge!({ phones: []})
  params.keys.each do |member|
    self.send("#{member}=", params.delete(member))
  end
end

Public Instance Methods

b2b_or_b2c=(value) click to toggle source
# File lib/clear_sale_clear_id/order.rb, line 31
def b2b_or_b2c=(value)
  validate_b2b_or_b2c(value)

  self[:b2b_or_b2c] = value
end
items_count() click to toggle source
# File lib/clear_sale_clear_id/order.rb, line 23
def items_count
  items.size
end
items_price() click to toggle source
# File lib/clear_sale_clear_id/order.rb, line 27
def items_price
  items.map(&:price).inject(&:+)
end

Private Instance Methods

validate_b2b_or_b2c(value) click to toggle source
# File lib/clear_sale_clear_id/order.rb, line 39
def validate_b2b_or_b2c(value)
  unless ['B2B', 'B2C'].include?(value)
    raise ArgumentError, "Value #{value} not valid for b2b_or_b2c!"
  end
end