Class: OrderOptimizer
- Inherits:
-
Object
show all
- Defined in:
- lib/order_optimizer.rb,
lib/order_optimizer/sku.rb,
lib/order_optimizer/order.rb,
lib/order_optimizer/catalog.rb,
lib/order_optimizer/version.rb
Defined Under Namespace
Classes: Catalog, Order, Sku
Constant Summary
collapse
- VERSION =
"0.5.1".freeze
Instance Method Summary
collapse
Constructor Details
Returns a new instance of OrderOptimizer.
Instance Method Details
#cheapest_exact_order(required_qty:) ⇒ Object
17
18
19
20
|
# File 'lib/order_optimizer.rb', line 17
def cheapest_exact_order(required_qty:)
find_possible_orders(skus: @catalog.skus, required_qty: required_qty).select(&:exact?).min_by(&:total) ||
OrderOptimizer::Order.new(required_qty: required_qty)
end
|
#cheapest_order(required_qty:) ⇒ Object
12
13
14
15
|
# File 'lib/order_optimizer.rb', line 12
def cheapest_order(required_qty:)
find_possible_orders(skus: @catalog.skus, required_qty: required_qty).min_by(&:total) ||
OrderOptimizer::Order.new(required_qty: required_qty)
end
|
#possible_orders(required_qty:) ⇒ Object
22
23
24
|
# File 'lib/order_optimizer.rb', line 22
def possible_orders(required_qty:)
find_possible_orders(skus: @catalog.skus, required_qty: required_qty).sort_by(&:total)
end
|