class Centra::Rule::OrderCalculator
Public Class Methods
new(order_matcher)
click to toggle source
# File lib/centra/rule/order_calculator.rb, line 4 def initialize(order_matcher) @order_matcher = order_matcher @email_orders = nil @centra_orders = nil @email_delays = nil @average_delay = nil end
Public Instance Methods
average_delay()
click to toggle source
# File lib/centra/rule/order_calculator.rb, line 51 def average_delay @average_delay ||= email_delays.sum.to_f / matched.length end
average_orders_per_email()
click to toggle source
# File lib/centra/rule/order_calculator.rb, line 55 def average_orders_per_email centra_orders.length / email_orders.length.to_f end
centra_orders()
click to toggle source
# File lib/centra/rule/order_calculator.rb, line 25 def centra_orders @centra_orders ||= @order_matcher.data.centra_orders end
email_delays()
click to toggle source
# File lib/centra/rule/order_calculator.rb, line 33 def email_delays @email_delays ||= matched.map do |match| match[:centra].delay_in_minutes(match[:rule]) end end
email_orders()
click to toggle source
# File lib/centra/rule/order_calculator.rb, line 21 def email_orders @email_orders ||= @order_matcher.data.email_orders end
matched()
click to toggle source
# File lib/centra/rule/order_calculator.rb, line 17 def matched @order_matcher.matched end
miss_percentage()
click to toggle source
# File lib/centra/rule/order_calculator.rb, line 29 def miss_percentage (missing.length.to_f / centra_orders.length) * 100 end
missing()
click to toggle source
# File lib/centra/rule/order_calculator.rb, line 13 def missing @order_matcher.missing end
missing_total_order_value_mkr_sek()
click to toggle source
# File lib/centra/rule/order_calculator.rb, line 47 def missing_total_order_value_mkr_sek @missing_total_order_value_mkr_sek ||= missing.map(&:total_order_value_sek).sum / 1_000_000 end
total_order_value_mkr_sek()
click to toggle source
# File lib/centra/rule/order_calculator.rb, line 43 def total_order_value_mkr_sek @total_order_value_mkr_sek ||= centra_orders.map(&:total_order_value_sek).sum / 1_000_000 end
total_pcs()
click to toggle source
# File lib/centra/rule/order_calculator.rb, line 39 def total_pcs @total_pcs ||= centra_orders.map(&:pcs).sum end