Class: Xsys::Model::Sale

Inherits:
Object
  • Object
show all
Defined in:
lib/xsys/model/sale.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ Sale

Returns a new instance of Sale.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/xsys/model/sale.rb', line 12

def initialize(attributes={})
  time_fields = ['receipt_date']
  decimal_fields = ['total_amount']

  attributes.each do |k, v|
    if k.to_s == 'items'
      self.items = v.map { |s| SaleItem.new(s) }
    elsif time_fields.include?(k.to_s)
      self.send("#{k}=", Date.parse(v)) unless v.nil?
    elsif decimal_fields.include?(k.to_s)
      self.send("#{k}=", BigDecimal.new(v)) unless v.nil?
    else
      self.send("#{k}=", v) if self.respond_to?(k)
    end
  end
end

Class Method Details

.attr_listObject



4
5
6
7
8
# File 'lib/xsys/model/sale.rb', line 4

def self.attr_list
  [:code, :transaction_number, :shop_code, :transaction_kind_code, :transaction_status_id,
  :customer_code, :receipt_number, :receipt_date, :total_amount, :seller_code, :observations,
  :user_login, :sale_order_code, :receiver_name, :cuit, :items]
end