Class: Workarea::Admin::Dashboards::ReportsViewModel
- Inherits:
-
ApplicationViewModel
- Object
- ApplicationViewModel
- Workarea::Admin::Dashboards::ReportsViewModel
- Defined in:
- app/view_models/workarea/admin/dashboards/reports_view_model.rb
Instance Method Summary collapse
- #average_order_value ⇒ Object
- #country_graph_data ⇒ Object
- #customers ⇒ Object
- #first_time_vs_returning_sales ⇒ Object
- #insights ⇒ Object
- #low_inventory ⇒ Object
- #marketing ⇒ Object
- #one_time_customers ⇒ Object
- #sales_by_category ⇒ Object
- #sales_by_country ⇒ Object
- #sales_by_discount ⇒ Object
- #sales_by_product ⇒ Object
- #sales_by_sku ⇒ Object
- #sales_over_time ⇒ Object
- #searches ⇒ Object
Instance Method Details
#average_order_value ⇒ Object
26 27 28 29 30 31 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 26 def average_order_value @average_order_value ||= Reports::AverageOrderValueViewModel.wrap( Workarea::Reports::AverageOrderValue.new(), ) end |
#country_graph_data ⇒ Object
5 6 7 8 9 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 5 def country_graph_data sales_by_country.results.take(5).reduce({}) do |memo, result| memo.merge(result['_id'] => result['revenue']) end end |
#customers ⇒ Object
75 76 77 78 79 80 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 75 def customers @customers ||= Reports::CustomersViewModel.wrap( Workarea::Reports::Customers.new(), ) end |
#first_time_vs_returning_sales ⇒ Object
82 83 84 85 86 87 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 82 def first_time_vs_returning_sales @first_time_vs_returning_sales ||= Reports::FirstTimeVsReturningSalesViewModel.wrap( Workarea::Reports::FirstTimeVsReturningSales.new(), ) end |
#insights ⇒ Object
11 12 13 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 11 def insights @insights ||= Reports::InsightsViewModel.wrap(nil, ).feed end |
#low_inventory ⇒ Object
96 97 98 99 100 101 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 96 def low_inventory @low_inventory ||= Reports::LowInventoryViewModel.wrap( Workarea::Reports::LowInventory.new(), ) end |
#marketing ⇒ Object
15 16 17 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 15 def marketing @marketing ||= Dashboards::MarketingViewModel.wrap(nil, ) end |
#one_time_customers ⇒ Object
68 69 70 71 72 73 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 68 def one_time_customers @one_time_customers ||= Reports::OneTimeCustomersViewModel.wrap( Workarea::Reports::OneTimeCustomers.new(), ) end |
#sales_by_category ⇒ Object
40 41 42 43 44 45 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 40 def sales_by_category @sales_by_category ||= Reports::SalesByCategoryViewModel.wrap( Workarea::Reports::SalesByCategory.new(), ) end |
#sales_by_country ⇒ Object
61 62 63 64 65 66 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 61 def sales_by_country @sales_by_country ||= Reports::SalesByCountryViewModel.wrap( Workarea::Reports::SalesByCountry.new(), ) end |
#sales_by_discount ⇒ Object
54 55 56 57 58 59 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 54 def sales_by_discount @sales_by_discount ||= Reports::SalesByDiscountViewModel.wrap( Workarea::Reports::SalesByDiscount.new(), ) end |
#sales_by_product ⇒ Object
33 34 35 36 37 38 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 33 def sales_by_product @sales_by_product ||= Reports::SalesByProductViewModel.wrap( Workarea::Reports::SalesByProduct.new(), ) end |
#sales_by_sku ⇒ Object
47 48 49 50 51 52 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 47 def sales_by_sku @sales_by_sku ||= Reports::SalesBySkuViewModel.wrap( Workarea::Reports::SalesBySku.new(), ) end |
#sales_over_time ⇒ Object
19 20 21 22 23 24 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 19 def sales_over_time @sales_over_time = Reports::SalesOverTimeViewModel.wrap( Workarea::Reports::SalesOverTime.new(), ) end |
#searches ⇒ Object
89 90 91 92 93 94 |
# File 'app/view_models/workarea/admin/dashboards/reports_view_model.rb', line 89 def searches @searches ||= Reports::SearchesViewModel.wrap( Workarea::Reports::Searches.new(), ) end |