physical 0.4.5 → 0.4.8

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
  SHA256:
3
- metadata.gz: a0be314d80085ad67728a8353fd16c80d0a177a939018af9d20f08eb47d789a8
4
- data.tar.gz: 13b2a4f823b4568a372f221d2d9ef2027eae4317943ac379aadf0dde3725fb76
3
+ metadata.gz: 45adbe9fa036b31165e380d114a9742467b551368e2a2dfc720452f2fba97e4c
4
+ data.tar.gz: 351f94658f866fe313b7499bcacef7de4a00c8370587dbbde9d81b093f6dd04d
5
5
  SHA512:
6
- metadata.gz: a5e3cd08e4be265708c39d1b17952e704da2cecd4fb7048fcdcb00d0899812192767b09d5466aff0e74e585f4d4b1bf0186184a13c462dc4fdc9afa519713a9c
7
- data.tar.gz: e21a20c9e7469006a13f68c57a1284515d533c71af13b8433c7f4cd527e09a927885a56344e927ef0dcac9e1606d7c42baa4580c47c9e1987bca83d4d2d68b58
6
+ metadata.gz: 7fd937c2f74862b1d28a0f819622e8d7a29b141bca24b175707adea171ef1a7e95f86494757fe32d9d24088356ebc31967688a0b1c6b895171f0e5a746fd4e35
7
+ data.tar.gz: df819d350b08f636b8afd2d56294982564f2662205b091b429fd58cc1d1c7db507a385a04966b2c153c336ae5eb46887ae1f9f226267ae227db21a69ef2ecb36
data/CHANGELOG.md CHANGED
@@ -6,7 +6,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## Unreleased
8
8
 
9
+ ## [0.4.8] - 2023-03-21
10
+
11
+ ### Added
12
+ - Add `#items_value` to `Physical::Package` [#21]
13
+
14
+ ## [0.4.7] - 2022-12-14
15
+
16
+ ### Changed
17
+ - Relax Dry::Types dependency to "~> 1.0" [#20]
18
+
9
19
  ## [0.4.5] - 2022-09-28
20
+
10
21
  ### Added
11
22
  - Add `Physical::Pallet` class [#12]
12
23
  - Convenience methods for weight, volume, and fill [#15]
@@ -19,22 +30,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
19
30
  - Ruby 3 support [#18]
20
31
 
21
32
  ## [0.4.4] - 2019-10-29
33
+
22
34
  ### Added
23
35
  - Add `#sku`, `#cost` and `#description` to `Physical::Item`
24
36
 
25
37
  ## [0.4.3] - 2019-10-14
38
+
26
39
  ### Added
27
40
  - Add `#latitude` and `#longitude` to `Physical::Location`
28
41
 
29
42
  ## [0.4.2] - 2019-09-04
43
+
30
44
  ### Changed
31
45
  - Relax `Measured` Gem dependency
32
46
 
33
47
  ## [0.4.1] - 2019-07-15
48
+
34
49
  ### Added
35
50
  - Add `max_weight` to `Physical::Package`
36
51
 
37
52
  ## [0.4.0] - 2019-07-10
53
+
38
54
  ### Added
39
55
  - `Measured::Density` Type and density calculations [@tvdeyen](https://github.com/mamhoff/physical/pull/19)
40
56
  - Use `Measured::Density` Type when initializing `Physical::Package#void_fill_density` [@mamhoff](https://github.com/mamhoff/physical/pull/22)
@@ -28,6 +28,14 @@ module Physical
28
28
  container.weight + items_weight + void_fill_weight
29
29
  end
30
30
 
31
+ # Cost is optional. We will only return an aggregate if all items
32
+ # have cost defined. Otherwise we will retun nil.
33
+ # @return Money
34
+ def items_value
35
+ items_cost = items.map(&:cost)
36
+ items_cost.reduce(&:+) if items_cost.compact.size == items_cost.size
37
+ end
38
+
31
39
  # @return [Measured::Weight]
32
40
  def items_weight
33
41
  items.map(&:weight).reduce(Measured::Weight(0, :g), &:+)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Physical
4
- VERSION = "0.4.5"
4
+ VERSION = "0.4.8"
5
5
  end
data/physical.gemspec CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.require_paths = ["lib"]
22
22
  spec.required_ruby_version = '>= 2.4'
23
23
  spec.add_runtime_dependency "carmen", "~> 1.0"
24
- spec.add_runtime_dependency "dry-types", "~> 1.5.1"
24
+ spec.add_runtime_dependency "dry-types", "~> 1.5"
25
25
  spec.add_runtime_dependency "measured", "~> 2.4"
26
26
  spec.add_runtime_dependency "money", ">= 5"
27
27
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: physical
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Meyerhoff
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-29 00:00:00.000000000 Z
11
+ date: 2023-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: carmen
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.5.1
33
+ version: '1.5'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.5.1
40
+ version: '1.5'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: measured
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -230,7 +230,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
230
230
  - !ruby/object:Gem::Version
231
231
  version: '0'
232
232
  requirements: []
233
- rubygems_version: 3.1.6
233
+ rubygems_version: 3.3.26
234
234
  signing_key:
235
235
  specification_version: 4
236
236
  summary: A facade to deal with physical packages