Class: Barcade::CLI

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

Class Method Summary collapse

Class Method Details



28
29
30
31
32
33
34
35
36
37
# File 'lib/barcade.rb', line 28

def self.print_table(beers, date)
  beers.sort! { |a, b| b[1] <=> a[1] }

  table = Terminal::Table.new(rows: beers)
  table.title = "#{date.strftime('%A')}'s Tap"
  table.headings = ['Name', 'BeerAdvocate Score']
  table.align_column(1, :center)

  puts table
end

.start(*args) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/barcade.rb', line 9

def self.start(*args)
  date = case args[0]
  when '--yesterday'
    Date.today.prev_day
  else
    Date.today
  end

  barcade_scraper = Barcade::Scraper.new(date)
  beeradvocate_scraper = BeerAdvocate::Scraper.new

  beers = barcade_scraper.tap.map do |beer_name|
    beeradvocate_profile = beeradvocate_scraper.find_beer_by_name(beer_name)
    [beer_name, beeradvocate_profile[:score]] unless beeradvocate_profile.nil?
  end.compact

  print_table(beers, date)
end