Class: Workarea::Packaging
- Inherits:
-
Object
- Object
- Workarea::Packaging
- Defined in:
- app/services/workarea/packaging.rb
Defined Under Namespace
Classes: Package
Instance Method Summary collapse
- #individual_dimensions? ⇒ Boolean
- #initialize(order, shipping = nil) ⇒ Packaging constructor
-
#packages ⇒ Object
Returns an Array out-of-the-box to allow easier multi-package customization.
- #total_dimensions ⇒ Object
- #total_value ⇒ Object
- #total_weight ⇒ Object
Constructor Details
#initialize(order, shipping = nil) ⇒ Packaging
15 16 17 18 |
# File 'app/services/workarea/packaging.rb', line 15 def initialize(order, shipping = nil) @order = order @shipping = shipping end |
Instance Method Details
#individual_dimensions? ⇒ Boolean
51 52 53 |
# File 'app/services/workarea/packaging.rb', line 51 def individual_dimensions? individual_packages.all? { |p| p.dimensions.present? } end |
#packages ⇒ Object
Returns an Array out-of-the-box to allow easier multi-package customization. Out-of-the-box will only ever return one package.
25 26 27 28 29 30 31 32 33 |
# File 'app/services/workarea/packaging.rb', line 25 def packages [ ActiveShipping::Package.new( total_weight, total_dimensions, Workarea.config..merge(value: total_value) ) ] end |
#total_dimensions ⇒ Object
39 40 41 42 43 44 45 |
# File 'app/services/workarea/packaging.rb', line 39 def total_dimensions if individual_dimensions? stacked_dimensions else Workarea.config.shipping_dimensions end end |
#total_value ⇒ Object
47 48 49 |
# File 'app/services/workarea/packaging.rb', line 47 def total_value individual_packages.sum(&:value) end |
#total_weight ⇒ Object
35 36 37 |
# File 'app/services/workarea/packaging.rb', line 35 def total_weight individual_packages.sum(&:weight) end |