class TopBeers::Brewery

Attributes

beers[RW]
location_1[RW]
location_2[RW]
name[R]
website[RW]

Public Class Methods

all() click to toggle source
# File lib/top-beers/brewery.rb, line 44
def self.all
  @@all.sort_by! { |e| e.name }
end
find_or_create_by_name(name) click to toggle source
# File lib/top-beers/brewery.rb, line 13
def self.find_or_create_by_name(name)
  brewery = @@all.detect {|b| b.name.downcase == name.downcase}
  if brewery.nil?
    brewery = self.new(name)
  end
  brewery
end
new(name) click to toggle source
# File lib/top-beers/brewery.rb, line 7
def initialize(name)
  @beers = []
  @name = name
  @@all << self
end

Public Instance Methods

location() click to toggle source
# File lib/top-beers/brewery.rb, line 36
def location
  if @location_2.nil?
    "#{@location_1}"
  else
    "#{@location_1}, #{@location_2}"
  end
end
show_beers() click to toggle source
# File lib/top-beers/brewery.rb, line 21
def show_beers
  puts "\n"+"-"*"#{@name}".length
  puts "#{@name}"
  puts "-"*"#{@name}".length
  if @website.nil?
    TopBeers::Scraper.scrape_details(@beers[0])
  end
  puts "Location".underline + ": #{self.location}"
  puts "Website".underline + ": #{@website}"
  puts "Beers in the top 250".underline + ":"
  @beers.each.with_index(1) do |beer, i|
    puts "#{i}. #{beer.name} - #{beer.style.name}"
  end
end