Class: Workarea::Admin::Reports::TimelineViewModel
- Inherits:
-
ApplicationViewModel
- Object
- ApplicationViewModel
- Workarea::Admin::Reports::TimelineViewModel
show all
- Includes:
- GroupByTime
- Defined in:
- app/view_models/workarea/admin/reports/timeline_view_model.rb
Defined Under Namespace
Classes: Event
Instance Method Summary
collapse
#day_of_week?, #get_period_for, #group_by_options, #results, #uneven_day_distribution?
Instance Method Details
#events ⇒ Object
67
68
69
70
71
72
73
74
75
|
# File 'app/view_models/workarea/admin/reports/timeline_view_model.rb', line 67
def events
@events ||= begin
Event
.build(releases, custom_events)
.each_with_object({}) do |(date, events), group|
group[date] = events.sort_by(&:occurred_at)
end
end
end
|
#graph_data ⇒ Object
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'app/view_models/workarea/admin/reports/timeline_view_model.rb', line 51
def graph_data
{
labels: grouped_data.keys.reverse,
datasets: {
releases: transform(graph_data_for('releases')),
custom_events: transform(graph_data_for('custom_events')),
revenue: transform(graph_data_for('revenue')),
orders: transform(graph_data_for('orders')),
units_sold: transform(graph_data_for('units_sold')),
customers: transform(graph_data_for('customers'))
}
}
end
|
#summary ⇒ Object
40
41
42
43
44
45
46
47
48
49
|
# File 'app/view_models/workarea/admin/reports/timeline_view_model.rb', line 40
def summary
{
revenue: summarize(graph_data_for('revenue')),
orders: summarize(graph_data_for('orders')),
units_sold: summarize(graph_data_for('units_sold')),
customers: summarize(graph_data_for('customers')),
releases: summarize(graph_data_for('releases')),
custom_events: summarize(graph_data_for('custom_events'))
}
end
|