class BeerAdvocate::Beer

Attributes

abv[RW]
brewery[RW]
brewery_url[RW]
name[RW]
name_url[RW]
review_count[RW]
score[RW]
style[RW]
style_url[RW]

Public Class Methods

all() click to toggle source
# File lib/beer_advocate/beer.rb, line 38
def self.all
  @@all
end
create_from_collection(beers_array) click to toggle source
# File lib/beer_advocate/beer.rb, line 32
def self.create_from_collection(beers_array)
  beers_array.each do |beer_hash|
    BeerAdvocate::Beer.new(beer_hash)
  end
end
find_beer(beer_hash) click to toggle source
# File lib/beer_advocate/beer.rb, line 42
def self.find_beer(beer_hash)
  self.all.find {|beer| beer.name == beer_hash[:name] && beer.brewery == beer_hash[:brewery]}
end
find_or_create_from_collection(beers_array) click to toggle source
# File lib/beer_advocate/beer.rb, line 46
def self.find_or_create_from_collection(beers_array)
  beers_array.each do |beer_hash|
    if self.find_beer(beer_hash) == nil
      self.new(beer_hash)
    else
      self.find_beer(beer_hash)
    end
  end
end
new(beer_hash) click to toggle source
# File lib/beer_advocate/beer.rb, line 27
def initialize(beer_hash)
  beer_hash.each {|key, value| self.send(("#{key}="), value)}
  @@all << self
end

Public Instance Methods

brewery=(brewery) click to toggle source
# File lib/beer_advocate/beer.rb, line 5
def brewery=(brewery)
  new_brewery = BeerAdvocate::Brewery.find_or_create(brewery)
  @brewery = new_brewery
  new_brewery.add_beer(self)
end
brewery_url=(brewery_url) click to toggle source
# File lib/beer_advocate/beer.rb, line 17
def brewery_url=(brewery_url)
  brewery.brewery_url = brewery_url
end
style=(style) click to toggle source
# File lib/beer_advocate/beer.rb, line 11
def style=(style)
  new_style = BeerAdvocate::Style.find_or_create(style)
  @style = new_style
  new_style.add_beer(self)
end
style_url=(style_url) click to toggle source
# File lib/beer_advocate/beer.rb, line 21
def style_url=(style_url)
  style.style_url = style_url
end