Sha256: a9019f6a07b91f2589288f7743afaf52333e96cd1e5880fb27aca15da92baebc
Contents?: true
Size: 1.19 KB
Versions: 62
Compression:
Stored size: 1.19 KB
Contents
module Workarea module Insights class SalesByNavigation < Base class << self def dashboards %w(store) end def generate_monthly! results = generate_results create!(results: results) if results.present? end def generate_results total_revenue = find_total_revenue report .results .map do |result| percent_of_total = if total_revenue.zero? 0 else (result['revenue'] / total_revenue.to_f) * 100 end result.merge( menu_id: result['_id'], percent_of_total: percent_of_total ) end end def report Reports::SalesByMenu.new( starts_at: beginning_of_last_month, ends_at: end_of_last_month, sort_by: 'revenue', sort_direction: 'desc' ) end def find_total_revenue Metrics::SalesByDay .by_date_range(starts_at: beginning_of_last_month, ends_at: end_of_last_month) .sum(:revenue) || 0 end end end end end
Version data entries
62 entries across 62 versions & 1 rubygems
Version | Path |
---|---|
workarea-core-3.4.13 | app/models/workarea/insights/sales_by_navigation.rb |
workarea-core-3.4.12 | app/models/workarea/insights/sales_by_navigation.rb |