xsys 0.28.0 → 0.30.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.rb +1 -0
- data/lib/xsys/model/product.rb +4 -2
- data/lib/xsys/model/product_package.rb +31 -0
- data/lib/xsys/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8a4221d4b63ae6fd70aaa7712ddc50a391372d0
|
4
|
+
data.tar.gz: aea01cdc909f0cd3ebcbaff6d1eb6e9d660e16e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a37ce0f6355158bbd52d11d4a5e7efe98de2ce56cc9a790349677c62b525d71449e7f7494d95a72e4f81620d9c8ba844b8a361d0a9d70d5c19abd274ff5b0421
|
7
|
+
data.tar.gz: 3279fd3056d9c43e6a5f18982dd0a88e46513b7437fe698ab0b4a8e7a9dde614717975358860bc43848d791b62350f485a0b4329cd08f33c826a39cc01ef54ae
|
data/CHANGELOG.md
CHANGED
data/lib/xsys.rb
CHANGED
@@ -7,6 +7,7 @@ require 'xsys/model/job_event'
|
|
7
7
|
require 'xsys/model/price_list'
|
8
8
|
require 'xsys/model/product'
|
9
9
|
require 'xsys/model/product_category'
|
10
|
+
require 'xsys/model/product_package'
|
10
11
|
require 'xsys/model/product_price_list'
|
11
12
|
require 'xsys/model/product_provider'
|
12
13
|
require 'xsys/model/sale'
|
data/lib/xsys/model/product.rb
CHANGED
@@ -26,9 +26,11 @@ module Xsys
|
|
26
26
|
elsif k.to_s == 'provider'
|
27
27
|
@provider = ProductProvider.new(v) unless v.nil?
|
28
28
|
elsif k.to_s == 'stocks'
|
29
|
-
@stocks = v.map { |
|
29
|
+
@stocks = v.map { |x| Stock.new(x) } unless v.nil?
|
30
30
|
elsif k.to_s == 'prices'
|
31
|
-
@prices = v.map { |
|
31
|
+
@prices = v.map { |x| ProductPriceList.new(x) } unless v.nil?
|
32
|
+
elsif k.to_s == 'packages'
|
33
|
+
@packages = v.map { |x| ProductPackage.new(x) } unless v.nil?
|
32
34
|
elsif time_fields.include?(k.to_s)
|
33
35
|
self.send("#{k}=", Time.parse(v)) unless v.nil?
|
34
36
|
elsif date_fields.include?(k.to_s)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Xsys
|
2
|
+
module Model
|
3
|
+
class ProductPackage
|
4
|
+
def self.attr_list
|
5
|
+
[:length, :width, :height, :weight, :ean]
|
6
|
+
end
|
7
|
+
|
8
|
+
attr_reader *attr_list
|
9
|
+
|
10
|
+
def initialize(attributes={})
|
11
|
+
attributes.each do |k, v|
|
12
|
+
decimal_fields = ['length', 'width', 'height', 'weight']
|
13
|
+
|
14
|
+
if decimal_fields.include?(k.to_s)
|
15
|
+
self.send("#{k}=", BigDecimal.new(v)) unless v.nil?
|
16
|
+
else
|
17
|
+
self.send("#{k}=", v) if self.respond_to?(k)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def volume
|
23
|
+
length * width * height
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
attr_writer *attr_list
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/lib/xsys/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xsys
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.30.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matias Hick
|
@@ -73,6 +73,7 @@ files:
|
|
73
73
|
- lib/xsys/model/price_list.rb
|
74
74
|
- lib/xsys/model/product.rb
|
75
75
|
- lib/xsys/model/product_category.rb
|
76
|
+
- lib/xsys/model/product_package.rb
|
76
77
|
- lib/xsys/model/product_price_list.rb
|
77
78
|
- lib/xsys/model/product_provider.rb
|
78
79
|
- lib/xsys/model/sale.rb
|