class TerminalCal::App

Public Class Methods

new(options = {}) click to toggle source
# File lib/terminal_cal/app.rb, line 3
def initialize(options = {})
  @config     = options[:config] || TerminalCal::Config.load
  @now        = Time.now
  @calendars  = []
  @events     = []
end
run() click to toggle source
# File lib/terminal_cal/app.rb, line 10
def self.run
  new.run
end

Public Instance Methods

run() click to toggle source
# File lib/terminal_cal/app.rb, line 14
def run
  load_calendars
  load_events
  print_events
rescue => error
  raise TerminalCal::Errors::Error, error
end

Private Instance Methods

load_calendars() click to toggle source
# File lib/terminal_cal/app.rb, line 24
def load_calendars
  @calendars = @config[:calendars].to_a.map do |config|
    TerminalCal::Calendar.new(config: config)
  end
end
load_events() click to toggle source
# File lib/terminal_cal/app.rb, line 30
def load_events
  @events = @calendars.map do |calendar|
    calendar.todays_events
  end
end
print_events() click to toggle source