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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f4514da3a1f24212cfdb10c6728740eb603fe4b2
4
- data.tar.gz: 8a3e804ad105185ec663100f35608023aa511d4d
3
+ metadata.gz: f8a4221d4b63ae6fd70aaa7712ddc50a391372d0
4
+ data.tar.gz: aea01cdc909f0cd3ebcbaff6d1eb6e9d660e16e7
5
5
  SHA512:
6
- metadata.gz: a9f8ce70f1e0e5093aaa730373a819b4408faa22573cb934455ee9e5414e591ef9d55040e8ce14ee2140b6ab2aa4fa0e32f12eb5041b73c93cec7c928285be07
7
- data.tar.gz: 899502f0706882edaf6c995108de322b8c33d89a3df2102cb483f48f98e1d1cba53f70634406f4b037f08973bcbfd1af0e8affe9ef62d8fc10542df1223aedce
6
+ metadata.gz: a37ce0f6355158bbd52d11d4a5e7efe98de2ce56cc9a790349677c62b525d71449e7f7494d95a72e4f81620d9c8ba844b8a361d0a9d70d5c19abd274ff5b0421
7
+ data.tar.gz: 3279fd3056d9c43e6a5f18982dd0a88e46513b7437fe698ab0b4a8e7a9dde614717975358860bc43848d791b62350f485a0b4329cd08f33c826a39cc01ef54ae
data/CHANGELOG.md CHANGED
@@ -413,3 +413,7 @@
413
413
  ## v0.28.0
414
414
 
415
415
  * Added attribute to corporation tax
416
+
417
+ ## v0.30.0
418
+
419
+ * Added attributes for packages
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'
@@ -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 { |s| Stock.new(s) } unless v.nil?
29
+ @stocks = v.map { |x| Stock.new(x) } unless v.nil?
30
30
  elsif k.to_s == 'prices'
31
- @prices = v.map { |s| ProductPriceList.new(s) }
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
@@ -1,3 +1,3 @@
1
1
  module Xsys
2
- VERSION = "0.28.0"
2
+ VERSION = "0.30.0"
3
3
  end
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.28.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