xsys 0.4.1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/xsys/model/sale.rb +34 -0
- data/lib/xsys/model/sale_item.rb +29 -0
- data/lib/xsys/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f2dfadf5516889a9ca9fea1c19abf14beb36a249
|
4
|
+
data.tar.gz: f305b2b0d51d45db8db6a742223d256ab6909b85
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16bcba0ba875983647e000b64e3cd100e74a67d3e21359bb15ed766361463f13d44639c0c8e721fdb4f9c02fd5861a6e1a2b0cd5b45dc3166c61078f450b8ec9
|
7
|
+
data.tar.gz: 1ce7acd751a1d754912f22b84d035c1c15eec176d3502e9b0099521c73f0779a46fef96968f8402d5c246ccd6b5e429a69c0cc8c48cbbe5977493ab6cb8ad13d
|
data/CHANGELOG.md
CHANGED
@@ -0,0 +1,34 @@
|
|
1
|
+
module Xsys
|
2
|
+
module Model
|
3
|
+
class Sale
|
4
|
+
def self.attr_list
|
5
|
+
[:code, :transaction_number, :shop_code, :transaction_kind_code, :transaction_status_id,
|
6
|
+
:customer_code, :receipt_number, :receipt_date, :total_amount, :seller_code, :observations,
|
7
|
+
:user_login, :sale_order_code, :receiver_name, :cuit, :items]
|
8
|
+
end
|
9
|
+
|
10
|
+
attr_reader *attr_list
|
11
|
+
|
12
|
+
def initialize(attributes={})
|
13
|
+
time_fields = ['receipt_date']
|
14
|
+
decimal_fields = ['total_amount']
|
15
|
+
|
16
|
+
attributes.each do |k, v|
|
17
|
+
if k.to_s == 'items'
|
18
|
+
self.items = v.map { |s| SaleItem.new(s) }
|
19
|
+
elsif time_fields.include?(k.to_s)
|
20
|
+
self.send("#{k}=", Date.parse(v)) unless v.nil?
|
21
|
+
elsif decimal_fields.include?(k.to_s)
|
22
|
+
self.send("#{k}=", BigDecimal.new(v)) unless v.nil?
|
23
|
+
else
|
24
|
+
self.send("#{k}=", v) if self.respond_to?(k)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
attr_writer *attr_list
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Xsys
|
2
|
+
module Model
|
3
|
+
class SaleItem
|
4
|
+
def self.attr_list
|
5
|
+
[:sale_code, :position, :transaction_number, :shop_code, :product_id, :quantity,
|
6
|
+
:taxed_unit_price, :vat_unit_price, :total_unit_price, :taxed_amount, :vat_amount,
|
7
|
+
:total_amount, :vat_rate]
|
8
|
+
|
9
|
+
attr_reader *attr_list
|
10
|
+
|
11
|
+
def initialize(attributes={})
|
12
|
+
decimal_fields = ['taxed_unit_price', 'vat_unit_price', 'total_unit_price',
|
13
|
+
'taxed_amount', 'vat_amount', 'total_amount', 'vat_rate']
|
14
|
+
|
15
|
+
attributes.each do |k, v|
|
16
|
+
if decimal_fields.include?(k.to_s)
|
17
|
+
self.send("#{k}=", BigDecimal.new(v)) unless v.nil?
|
18
|
+
else
|
19
|
+
self.send("#{k}=", v) if self.respond_to?(k)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
attr_writer *attr_list
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/xsys/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xsys
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matias Hick
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -71,6 +71,8 @@ files:
|
|
71
71
|
- lib/xsys/model/product_category.rb
|
72
72
|
- lib/xsys/model/product_price_list.rb
|
73
73
|
- lib/xsys/model/product_provider.rb
|
74
|
+
- lib/xsys/model/sale.rb
|
75
|
+
- lib/xsys/model/sale_item.rb
|
74
76
|
- lib/xsys/model/seller.rb
|
75
77
|
- lib/xsys/model/shop.rb
|
76
78
|
- lib/xsys/model/stock.rb
|