class Physical::Box

Constants

DEFAULT_LENGTH
DEFAULT_MAX_WEIGHT

Attributes

inner_dimensions[R]
inner_height[R]
inner_length[R]
inner_width[R]
max_weight[R]

Public Class Methods

new(inner_dimensions: [], max_weight: Measured::Weight(DEFAULT_MAX_WEIGHT, :g), **args) click to toggle source
Calls superclass method
# File lib/physical/box.rb, line 16
def initialize(inner_dimensions: [], max_weight: Measured::Weight(DEFAULT_MAX_WEIGHT, :g), **args)
  super args
  @inner_dimensions = fill_dimensions(Types::Dimensions[inner_dimensions])
  @inner_length, @inner_width, @inner_height = *@inner_dimensions
  @max_weight = Types::Weight[max_weight]
end

Public Instance Methods

inner_volume() click to toggle source
# File lib/physical/box.rb, line 23
def inner_volume
  Measured::Volume(
    inner_dimensions.map { |d| d.convert_to(:cm).value }.reduce(1, &:*),
    :ml
  )
end