Class: Workarea::Admin::TimelineViewModel
- Inherits:
-
ApplicationViewModel
- Object
- ApplicationViewModel
- Workarea::Admin::TimelineViewModel
- Defined in:
- app/view_models/workarea/admin/timeline_view_model.rb
Instance Method Summary collapse
- #activity ⇒ Object
- #activity_by_day ⇒ Object
- #empty? ⇒ Boolean
- #subject ⇒ Object
- #today_has_activity ⇒ Object
- #unscheduled_changesets ⇒ Object
- #upcoming_changesets ⇒ Object
Instance Method Details
#activity ⇒ Object
18 19 20 |
# File 'app/view_models/workarea/admin/timeline_view_model.rb', line 18 def activity @activity ||= ActivityViewModel.new(nil, id: model.id) end |
#activity_by_day ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'app/view_models/workarea/admin/timeline_view_model.rb', line 22 def activity_by_day @days ||= activity.entries.reduce({}) do |memo, entry| day = entry.created_at.to_date memo[day] ||= [] memo[day] << entry memo end end |
#empty? ⇒ Boolean
35 36 37 |
# File 'app/view_models/workarea/admin/timeline_view_model.rb', line 35 def empty? upcoming_changesets.empty? && activity.entries.empty? end |
#subject ⇒ Object
39 40 41 |
# File 'app/view_models/workarea/admin/timeline_view_model.rb', line 39 def subject @subject ||= ApplicationController.wrap_in_view_model(model, ) end |
#today_has_activity ⇒ Object
31 32 33 |
# File 'app/view_models/workarea/admin/timeline_view_model.rb', line 31 def today_has_activity activity_by_day[Time.zone.today].present? end |
#unscheduled_changesets ⇒ Object
12 13 14 15 16 |
# File 'app/view_models/workarea/admin/timeline_view_model.rb', line 12 def unscheduled_changesets @unscheduled_changesets ||= ChangesetViewModel.wrap( unscheduled_model_changesets + unscheduled_content_changesets ) end |
#upcoming_changesets ⇒ Object
4 5 6 7 8 9 10 |
# File 'app/view_models/workarea/admin/timeline_view_model.rb', line 4 def upcoming_changesets @upcoming_changesets ||= ChangesetViewModel.wrap( (model_changesets + content_changesets) .sort { |c| c.release.publish_at } .reverse ) end |