Class: Workarea::Admin::TimelineViewModel

Inherits:
ApplicationViewModel
  • Object
show all
Defined in:
app/view_models/workarea/admin/timeline_view_model.rb

Instance Method Summary collapse

Instance Method Details

#activityObject



10
11
12
# File 'app/view_models/workarea/admin/timeline_view_model.rb', line 10

def activity
  @activity ||= ActivityViewModel.new(nil, id: model.id)
end

#activity_by_dayObject



14
15
16
17
18
19
20
21
# File 'app/view_models/workarea/admin/timeline_view_model.rb', line 14

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

Returns:

  • (Boolean)


27
28
29
# File 'app/view_models/workarea/admin/timeline_view_model.rb', line 27

def empty?
  upcoming_changesets.empty? && activity.entries.empty?
end

#subjectObject



31
32
33
# File 'app/view_models/workarea/admin/timeline_view_model.rb', line 31

def subject
  @subject ||= ApplicationController.wrap_in_view_model(model, options)
end

#today_has_activityObject



23
24
25
# File 'app/view_models/workarea/admin/timeline_view_model.rb', line 23

def today_has_activity
  activity_by_day[Time.zone.today].present?
end

#upcoming_changesetsObject



4
5
6
7
8
# File 'app/view_models/workarea/admin/timeline_view_model.rb', line 4

def upcoming_changesets
  @upcoming_changesets ||= ChangesetViewModel.wrap(
    model_changesets + content_changesets
  )
end