Class: SourceMonitor::Dashboard::UpcomingFetchSchedule

Inherits:
Object
  • Object
show all
Defined in:
lib/source_monitor/dashboard/upcoming_fetch_schedule.rb

Defined Under Namespace

Classes: Group

Constant Summary collapse

INTERVAL_DEFINITIONS =
[
  { key: "0-30", label: "Within 30 minutes", min_minutes: 0, max_minutes: 30 },
  { key: "30-60", label: "30-60 minutes", min_minutes: 30, max_minutes: 60 },
  { key: "60-120", label: "60-120 minutes", min_minutes: 60, max_minutes: 120 },
  { key: "120-240", label: "120-240 minutes", min_minutes: 120, max_minutes: 240 },
  { key: "240+", label: "240 minutes +", min_minutes: 240, max_minutes: nil, include_unscheduled: true }
].freeze
DEFAULT_PER_PAGE =
10

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scope: SourceMonitor::Source.active, reference_time: Time.current, pages: {}, per_page: DEFAULT_PER_PAGE) ⇒ UpcomingFetchSchedule

Returns a new instance of UpcomingFetchSchedule.



39
40
41
42
43
44
# File 'lib/source_monitor/dashboard/upcoming_fetch_schedule.rb', line 39

def initialize(scope: SourceMonitor::Source.active, reference_time: Time.current, pages: {}, per_page: DEFAULT_PER_PAGE)
  @scope = scope
  @reference_time = reference_time
  @pages = pages
  @per_page = per_page
end

Instance Attribute Details

#reference_timeObject (readonly)

Returns the value of attribute reference_time.



37
38
39
# File 'lib/source_monitor/dashboard/upcoming_fetch_schedule.rb', line 37

def reference_time
  @reference_time
end

#scopeObject (readonly)

Returns the value of attribute scope.



37
38
39
# File 'lib/source_monitor/dashboard/upcoming_fetch_schedule.rb', line 37

def scope
  @scope
end

Instance Method Details

#groupsObject



46
47
48
# File 'lib/source_monitor/dashboard/upcoming_fetch_schedule.rb', line 46

def groups
  @groups ||= build_groups
end