class BeerList::Establishments::BlueNile
Constants
- RESTAURANT_NAME
- URL
Public Instance Methods
get_list()
click to toggle source
# File lib/beer_list/establishments/blue_nile.rb, line 7 def get_list base_list trim end
url()
click to toggle source
# File lib/beer_list/establishments/blue_nile.rb, line 12 def url URL end
Private Instance Methods
base_list()
click to toggle source
# File lib/beer_list/establishments/blue_nile.rb, line 22 def base_list @beers = remove_carraige_and_strip(page.search('p').map(&:text)).reject{ |b| headers.include? b } remove_contact_info end
headers()
click to toggle source
# File lib/beer_list/establishments/blue_nile.rb, line 18 def headers @headers ||= remove_carraige_and_strip(page.search('.style5').map(&:text)) end
reject_non_word_entries()
click to toggle source
# File lib/beer_list/establishments/blue_nile.rb, line 41 def reject_non_word_entries @beers = @beers.reject{ |b| b.match /\A\W\z/ } end
remove_carraige_and_strip(ary)
click to toggle source
# File lib/beer_list/establishments/blue_nile.rb, line 50 def remove_carraige_and_strip(ary) ary.map{ |b| b.split("\r").map(&:strip) }.flatten.reject(&:empty?) end
remove_contact_info()
click to toggle source
# File lib/beer_list/establishments/blue_nile.rb, line 45 def remove_contact_info index = @beers.index(RESTAURANT_NAME) @beers.pop @beers.size - index end
trim()
click to toggle source
# File lib/beer_list/establishments/blue_nile.rb, line 27 def trim trim_cost_and_origin trim_volume reject_non_word_entries end
trim_cost_and_origin()
click to toggle source
# File lib/beer_list/establishments/blue_nile.rb, line 33 def trim_cost_and_origin @beers = @beers.map{ |b| b.split('(').first }.map{ |b| b.split(' $').first } end
trim_volume()
click to toggle source
# File lib/beer_list/establishments/blue_nile.rb, line 37 def trim_volume @beers = @beers.map{ |b| b.match(/,?\s?\d+\s?(ml|oz|0z)/) ? $`.strip : b.strip } end