Class: Trendster::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/trendster/cli.rb

Instance Method Summary collapse

Instance Method Details

#callObject

domino order of methods to run:



6
7
8
9
10
11
# File 'lib/trendster/cli.rb', line 6

def call
  make_events
  list_events
  menu
  goodbye
end

#goodbyeObject



54
55
56
# File 'lib/trendster/cli.rb', line 54

def goodbye
  puts "See you next time for more library events!"
end

#list_eventsObject

should list current library events.



20
21
22
23
24
25
26
# File 'lib/trendster/cli.rb', line 20

def list_events
  puts "Here are the most recent events at the Cuyahoga County Public Library!:"
  @events = []
  Trendster::Event.all.each{|x| @events << x.name}
  counter = 0
  @events.each{|event_name| counter +=1; puts "#{counter}. #{event_name}"}
end

#make_eventsObject

should instantiate new event objects



13
14
15
16
# File 'lib/trendster/cli.rb', line 13

def make_events
  events_array = Trendster::Scraper.scrape_library_page
  Trendster::Event.create_from_collection(events_array)
end


29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/trendster/cli.rb', line 29

def menu
  input = nil
  while input != "exit"
    puts "Enter the number of the event you'd like more info on, 'list' to see the events again, or type 'exit'."
    input = gets.strip

    if input.to_i > 0
      puts Trendster::Event.all[input.to_i - 1].name
      puts Trendster::Event.all[input.to_i - 1].description
      puts Trendster::Event.all[input.to_i - 1].date
      puts "Location: #{Trendster::Event.all[input.to_i - 1].location}"
      puts "Audience: #{Trendster::Event.all[input.to_i - 1].audience}"
    elsif input == "list"
      list_events
    elsif input == "exit"
      break
    elsif input.to_i > Trendster::Event.all.count
      puts "Please enter a valid number."
    else
      puts "Please enter the number of the event, 'list' or 'exit'"
    end

  end
end