beer-advocate-cli 0.1.4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6bcfc6500747d2f76e57fac8e9551ae5a2f0b71b934dec8b6c588656c32841e0
4
- data.tar.gz: 226d886ed0abe67fd2450ee5b9e9beb5a7dcfa7b814d60a5375e7efd5b0208b8
3
+ metadata.gz: f112ae6df99c1023e70365c34df69ada37af7e49d5f425225ee65700c9657457
4
+ data.tar.gz: deda2a0d0950339c738e1cb2a6c59aea448d59369929dd92ba2f8bb7e48502d9
5
5
  SHA512:
6
- metadata.gz: 7afeffb1b9b617559fa28f5a9b3ab3325fb1c78a519178c55441ef9b30f8d6ed0bf3e9b2f6a8fb52c8a3dfe6177cdba0b47bf41dca9c1c980f3b3030f4252042
7
- data.tar.gz: c85e3233ae73a2599b679266d73b883824ca7cd1ec64d0879a8e2f3323be82f19b14c07afb6ce2dc6c5fe15123d5055828b5913600252f56aa0249fedc7c692d
6
+ metadata.gz: 5bf06e5b6d1f7e80b203cce20c5400cb7b5536e01ebe98511f5614883898ceba26630ed89e867d386f6758c89cf8832b6ad1f10672ba4064e9a89629d7943ee9
7
+ data.tar.gz: 84efb5d6e2a69e6a7705c5b5beba8fa01b9d3e1cbfb45cf6373d0934be2ed37e93649c1df43757b6f734e55a6d4cd86f0e9226679e8fa7e21d995e8a69336c48
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- beer-advocate-cli (0.1.4)
4
+ beer-advocate-cli (0.2.0)
5
5
  colorize (~> 0.8.1)
6
6
  nokogiri (~> 1.8)
7
7
 
data/README.md CHANGED
@@ -20,8 +20,26 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
+ * ~ Mac Terminal installation not working...any input highly appreciated... ~
24
+
25
+ If using the Mac Terminal app, ensure Xcode is installed:
26
+
27
+ xcode-select --install
28
+
29
+ Then type:
30
+
31
+ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
32
+
33
+ brew install ruby
34
+
35
+ sudo gem install beer-advocate-cli -n /usr/local/bin
36
+
37
+ * ~ ~
38
+
23
39
  To run the CLI, simply type 'beer-advocate'.
24
40
 
41
+ Video walkthrough: https://www.youtube.com/watch?v=0gne-y8op7k&t=2s
42
+
25
43
  ## Development
26
44
 
27
45
  After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -1,8 +1,16 @@
1
+ require 'pry'
2
+
1
3
  require_relative './beer.rb'
2
4
  require_relative './scraper.rb'
3
5
  require_relative './brewery.rb'
4
6
 
5
7
  class BeerAdvocate::CLI
8
+ attr_accessor :beer_list, :beers, :styles, :reviews, :find_beer, :find_brewery, :find_style
9
+
10
+ def initialize
11
+ @beer_list = BeerAdvocate::Beer.create_from_collection(BeerAdvocate::Scraper.scrape_list_page)
12
+ end
13
+
6
14
  def welcome
7
15
  puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
8
16
  beer_advocate_cli_text = "Beer Advocate CLI".yellow.bold
@@ -27,33 +35,39 @@ class BeerAdvocate::CLI
27
35
  end
28
36
  end
29
37
 
30
- def show_beers_table
31
- puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
32
- puts "Choose a range: || 1 - Most popular ".yellow.bold
33
- puts " || 250 - Least popular ".yellow.bold
34
- puts " "
35
- puts "1. 1-50 | 2. 51-100 | 3. 101-150 | 4. 151-200 | 5. 201-250"
36
- puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
37
-
38
+ def show_beers_table_input
38
39
  case take_input
39
40
  when "1"
40
- beers = BeerAdvocate::Beer.find_or_create_from_collection(BeerAdvocate::Scraper.scrape_list_page)[0..49]
41
+ @beers = @beer_list[0..49]
41
42
  when "2"
42
- beers = BeerAdvocate::Beer.find_or_create_from_collection(BeerAdvocate::Scraper.scrape_list_page)[50..99]
43
+ @beers = @beer_list[50..99]
43
44
  when "3"
44
- beers = BeerAdvocate::Beer.find_or_create_from_collection(BeerAdvocate::Scraper.scrape_list_page)[100..149]
45
+ @beers = @beer_list[100..149]
45
46
  when "4"
46
- beers = BeerAdvocate::Beer.find_or_create_from_collection(BeerAdvocate::Scraper.scrape_list_page)[150..199]
47
+ @beers = @beer_list[150..199]
47
48
  when "5"
48
- beers = BeerAdvocate::Beer.find_or_create_from_collection(BeerAdvocate::Scraper.scrape_list_page)[200..249]
49
+ @beers = @beer_list[200..249]
49
50
  else
50
- exit
51
+ puts ""
52
+ puts "Invalid. Please type 1-5:".bold
53
+ show_beers_table_input
51
54
  end
55
+ end
56
+
57
+ def show_beers_table
58
+ puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
59
+ puts "Choose a range: || 1 - Most popular ".yellow.bold
60
+ puts " || 250 - Least popular ".yellow.bold
61
+ puts " "
62
+ puts "1. 1-50 | 2. 51-100 | 3. 101-150 | 4. 151-200 | 5. 201-250"
63
+ puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
64
+
65
+ show_beers_table_input
52
66
 
53
67
  green_beer = "Name".green.bold
54
68
  blue_brewery = "Brewery".light_blue.bold
55
69
  abv = abv = " | ABV | "
56
- bold_rating = "Score /5".red.bold
70
+ bold_rating = "Score".red.bold
57
71
  the_rest = " | Review count"
58
72
  complete_beer = green_beer << " | " << blue_brewery << abv << bold_rating << the_rest
59
73
 
@@ -62,7 +76,7 @@ class BeerAdvocate::CLI
62
76
  puts complete_beer
63
77
  puts " "
64
78
  puts " "
65
- beers.each do |beer|
79
+ @beers.each do |beer|
66
80
  green_beer1 = "#{beer[:name]}".green.bold
67
81
  blue_brewery1 = "#{beer[:brewery]}".light_blue.bold
68
82
  abv1 = " | #{beer[:abv]} | "
@@ -78,29 +92,10 @@ class BeerAdvocate::CLI
78
92
  puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
79
93
  end
80
94
 
81
-
82
- def show_beer(beer)
83
- beers = BeerAdvocate::Beer.find_or_create_from_collection(BeerAdvocate::Scraper.scrape_list_page)
84
- find_beer = beers.find do |listed_beer|
85
- listed_beer[:name].downcase == beer.downcase
86
- end
87
- if find_beer == nil
88
- exit
89
- end
90
- beer_page_details = BeerAdvocate::Scraper.scrape_name_page(find_beer[:name_url])
91
-
92
- puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
93
- puts "#{find_beer[:name]}".yellow.bold
94
- puts " "
95
- puts "Brewery: #{find_beer[:brewery]} || Style: #{find_beer[:style]} || ABV: #{find_beer[:abv]} || Score: #{find_beer[:score]} || Review count: #{find_beer[:review_count]}"
96
- puts " "
97
- puts "1. Top reviews | 2. Brewery details | 3. Style details".light_blue.bold
98
- puts "Choose an option above.".yellow.bold
99
- puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
95
+ def show_beer_input
100
96
  case take_input
101
97
  when "1"
102
- reviews = beer_page_details[:top_reviews]
103
- reviews.each do |review|
98
+ @reviews.each do |review|
104
99
  puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
105
100
  puts "#{review}"
106
101
  puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
@@ -108,62 +103,87 @@ class BeerAdvocate::CLI
108
103
  end
109
104
  puts "Type 'menu':".yellow.bold
110
105
  puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
111
- take_input
106
+ menu_from_reviews
112
107
  when "2"
113
108
  show_brewery(find_beer[:brewery])
114
109
  when "3"
115
110
  show_style(find_beer[:style])
111
+ else
112
+ puts ""
113
+ puts "Invalid. Please type 1-3:".bold
114
+ show_beer_input
116
115
  end
117
116
  end
118
117
 
118
+ def menu_from_reviews
119
+ if take_input != "menu" || take_input != "exit"
120
+ puts ""
121
+ puts "Type 'menu':".bold
122
+ menu_from_reviews
123
+ end
124
+ end
125
+
126
+ def show_beer(beer)
127
+ @find_beer = @beer_list.find do |listed_beer|
128
+ listed_beer[:name].downcase == beer.downcase
129
+ end
130
+ if @find_beer == nil
131
+ puts ""
132
+ puts "Invalid. Please type the beer exactly as it appears in the beer list:".bold
133
+ show_beer(take_input)
134
+ end
135
+
136
+ if BeerAdvocate::Scraper.find_url(find_beer[:name_url]) == nil
137
+ beer_page_details = BeerAdvocate::Scraper.scrape_name_page(find_beer[:name_url])
138
+ else
139
+ beer_page_details = BeerAdvocate::Scraper.find_url_details(find_beer[:name_url])
140
+ end
141
+ @reviews = beer_page_details[:top_reviews]
142
+
143
+ puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
144
+ puts "#{find_beer[:name]}".yellow.bold
145
+ puts " "
146
+ puts "Brewery: #{find_beer[:brewery]} || Style: #{find_beer[:style]} || ABV: #{find_beer[:abv]} || Score: #{find_beer[:score]} || Review count: #{find_beer[:review_count]}"
147
+ puts " "
148
+ puts "1. Top reviews | 2. Brewery details | 3. Style details".light_blue.bold
149
+ puts "Choose an option above.".yellow.bold
150
+ puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
151
+
152
+ show_beer_input
153
+ end
154
+
119
155
  def show_styles_list
120
- beers = BeerAdvocate::Beer.find_or_create_from_collection(BeerAdvocate::Scraper.scrape_list_page)
121
- styles = beers.collect do |beer|
156
+ @styles = @beer_list.collect do |beer|
122
157
  beer[:style]
123
158
  end
124
- styles.uniq!
125
- styles.sort!
159
+ @styles.uniq!
160
+ @styles.sort!
126
161
 
127
162
  puts "- - - - - - - - - - - - - - - - -".light_blue
128
163
  puts "Type a style number:".yellow.bold
129
164
  puts " "
130
- styles.each do |style|
165
+ @styles.each do |style|
131
166
  puts "#{styles.index(style) + 1}. #{style}"
132
167
  end
133
168
  puts " "
134
169
  puts "Type a style number:".yellow.bold
135
170
  puts "- - - - - - - - - - - - - - - - -".light_blue
136
171
 
172
+ show_styles_list_input
173
+ end
174
+
175
+ def show_styles_list_input
137
176
  numerized_input = take_input.to_i
138
- if numerized_input == 0
139
- exit
140
- else
141
- show_style(styles[numerized_input - 1])
177
+ if numerized_input.between?(1, @styles.length)
178
+ show_style(@styles[numerized_input - 1])
179
+ else
180
+ puts ""
181
+ puts "Invalid. Please type a style number:".bold
182
+ show_styles_list_input
142
183
  end
143
184
  end
144
185
 
145
- def show_style(style)
146
- beers = BeerAdvocate::Beer.find_or_create_from_collection(BeerAdvocate::Scraper.scrape_list_page)
147
- find_style = beers.find do |listed_beer|
148
- listed_beer[:style].downcase == style.downcase
149
- end
150
- if find_style == nil
151
- exit
152
- end
153
- style_page_details = BeerAdvocate::Scraper.scrape_style_page(find_style[:style_url])
154
-
155
- puts "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -".light_blue
156
- puts "#{find_style[:style]}".yellow.bold
157
- puts " "
158
- puts "#{style_page_details[:description]}"
159
- puts " "
160
- puts "#{style_page_details[:abv]}".bold
161
- puts "#{style_page_details[:ibu]}".bold
162
- puts "#{style_page_details[:glassware]}".bold
163
- puts " "
164
- puts "Press '1' for a list of beers of this style.".yellow.bold
165
- puts "- - - - - - - - - - - - - - - - - - - - - -".light_blue
166
-
186
+ def show_style_input
167
187
  case take_input
168
188
  when "1"
169
189
  beers = BeerAdvocate::Style.find_style(find_style[:style]).beers
@@ -182,7 +202,7 @@ class BeerAdvocate::CLI
182
202
  puts complete_beer
183
203
  puts " "
184
204
 
185
- beers.collect! do |beer|
205
+ new_beers = beers.collect do |beer|
186
206
  green_beer1 = "#{beer.name}".green.bold
187
207
  interlude1 = " | "
188
208
  bold_brewery1 = "#{beer.brewery.name}".red.bold
@@ -191,9 +211,8 @@ class BeerAdvocate::CLI
191
211
  complete_beer1 = green_beer1 << interlude1 << bold_brewery1 << interlude1 << abv1 << interlude1 << score1
192
212
  complete_beer1
193
213
  end
194
- beers.uniq!.sort!
195
214
 
196
- puts beers
215
+ puts new_beers.uniq.sort
197
216
  puts " "
198
217
  puts complete_beer
199
218
  puts "Type a beer name for more info.".yellow.bold
@@ -201,37 +220,43 @@ class BeerAdvocate::CLI
201
220
  puts "#{find_style[:style]}".bold
202
221
  puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
203
222
  show_beer(take_input)
223
+ else
224
+ puts ""
225
+ puts "Type '1':".bold
226
+ show_style_input
204
227
  end
205
228
  end
206
229
 
207
- def show_brewery(brewery)
208
- beers = BeerAdvocate::Beer.find_or_create_from_collection(BeerAdvocate::Scraper.scrape_list_page)
209
- find_brewery = beers.find do |listed_beer|
210
- listed_beer[:brewery].downcase == brewery.downcase
230
+ def show_style(style)
231
+ @find_style = beer_list.find do |listed_beer|
232
+ listed_beer[:style].downcase == style.downcase
211
233
  end
212
- if find_brewery == nil
213
- exit
234
+
235
+ if BeerAdvocate::Scraper.find_url(find_style[:style_url]) == nil
236
+ style_page_details = BeerAdvocate::Scraper.scrape_style_page(find_style[:style_url])
237
+ else
238
+ style_page_details = BeerAdvocate::Scraper.find_url_details(find_style[:style_url])
214
239
  end
215
- brewery_page_details = BeerAdvocate::Scraper.scrape_brewery_page(find_brewery[:brewery_url])
216
240
 
217
- puts "- - - - - - - - - - - - - - - - - - - - - - - - - -".light_blue
218
- puts "#{find_brewery[:brewery]}".yellow.bold
219
- puts " "
220
- puts "#{brewery_page_details[:type]}"
221
- puts " "
222
- puts "#{brewery_page_details[:address]}"
241
+ puts "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -".light_blue
242
+ puts "#{find_style[:style]}".yellow.bold
223
243
  puts " "
224
- puts "#{brewery_page_details[:phone_number]}"
244
+ puts "#{style_page_details[:description]}"
225
245
  puts " "
226
- puts "#{brewery_page_details[:website]}"
246
+ puts "#{style_page_details[:abv]}".bold
247
+ puts "#{style_page_details[:ibu]}".bold
248
+ puts "#{style_page_details[:glassware]}".bold
227
249
  puts " "
228
- puts "Press '1' for a list of beers from this brewery.".yellow.bold
229
- puts "- - - - - - - - - - - - - - - - - - - - - - - - - -".light_blue
250
+ puts "Press '1' for a list of beers of this style.".yellow.bold
251
+ puts "- - - - - - - - - - - - - - - - - - - - - -".light_blue
230
252
 
253
+ show_style_input
254
+ end
255
+
256
+ def show_brewery_input
231
257
  case take_input
232
258
  when "1"
233
- beers = BeerAdvocate::Brewery.find_brewery(find_brewery[:brewery]).beers
234
-
259
+ beers = BeerAdvocate::Brewery.find_brewery(@find_brewery[:brewery]).beers
235
260
  green_beer = "Name".green.bold
236
261
  interlude = " | "
237
262
  bold_style = "Style".red.bold
@@ -246,7 +271,7 @@ class BeerAdvocate::CLI
246
271
  puts complete_beer
247
272
  puts " "
248
273
 
249
- beers.collect! do |beer|
274
+ colored_beers = beers.collect do |beer|
250
275
  green_beer1 = "#{beer.name}".green.bold
251
276
  interlude1 = " | "
252
277
  bold_style1 = "#{beer.style.name}".red.bold
@@ -255,9 +280,8 @@ class BeerAdvocate::CLI
255
280
  complete_beer1 = green_beer1 << interlude1 << bold_style1 << interlude1 << abv1 << interlude1 << score1
256
281
  complete_beer1
257
282
  end
258
- beers.uniq!.sort!
259
283
 
260
- puts beers
284
+ puts colored_beers.uniq.sort
261
285
  puts " "
262
286
  puts complete_beer
263
287
  puts "Type a beer name for more info.".yellow.bold
@@ -265,17 +289,60 @@ class BeerAdvocate::CLI
265
289
  puts "#{find_brewery[:brewery]}".bold
266
290
  puts " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ".light_blue
267
291
  show_beer(take_input)
292
+ else
293
+ puts ""
294
+ puts "Type '1':".bold
295
+ show_brewery_input
268
296
  end
269
297
  end
270
298
 
299
+ def show_brewery(brewery)
300
+ @find_brewery = @beer_list.find do |listed_beer|
301
+ listed_beer[:brewery].downcase == brewery.downcase
302
+ end
303
+
304
+ if find_brewery == nil
305
+ puts ""
306
+ puts "Invalid. Please type the brewery exactly as it appears in the beer list:".bold
307
+ show_brewery(take_input)
308
+ end
309
+
310
+ if BeerAdvocate::Scraper.find_url(find_brewery[:brewery_url]) == nil
311
+ brewery_page_details = BeerAdvocate::Scraper.scrape_brewery_page(find_brewery[:brewery_url])
312
+ else
313
+ brewery_page_details = BeerAdvocate::Scraper.find_url_details(find_brewery[:brewery_url])
314
+ end
315
+
316
+ #binding.pry
317
+
318
+ puts "- - - - - - - - - - - - - - - - - - - - - - - - - -".light_blue
319
+ puts "#{find_brewery[:brewery]}".yellow.bold
320
+ puts " "
321
+ puts "#{brewery_page_details[:type]}"
322
+ puts " "
323
+ puts "#{brewery_page_details[:address]}"
324
+ puts " "
325
+ puts "#{brewery_page_details[:phone_number]}"
326
+ puts " "
327
+ puts "#{brewery_page_details[:website]}"
328
+ puts " "
329
+ puts "Press '1' for a list of beers from this brewery.".yellow.bold
330
+ puts "- - - - - - - - - - - - - - - - - - - - - - - - - -".light_blue
331
+
332
+ show_brewery_input
333
+ end
334
+
271
335
  def beer_table_interaction
272
336
  show_beers_table
273
337
  show_beer(take_input)
274
338
  end
275
339
 
276
340
  def run
277
- BeerAdvocate::Beer.create_from_collection(BeerAdvocate::Scraper.scrape_list_page)
278
341
  welcome
342
+ welcome_input
343
+ end
344
+
345
+ def welcome_input
279
346
  case take_input
280
347
  when "1"
281
348
  beer_table_interaction
@@ -289,12 +356,10 @@ class BeerAdvocate::CLI
289
356
  puts ""
290
357
  puts "Type brewery name:".bold
291
358
  show_brewery(take_input)
292
- end
293
- end
294
-
295
- class InputError < StandardError
296
- def message
297
- "Sorry, input invalid."
359
+ else
360
+ puts ""
361
+ puts "Invalid. Please type 1-4:".bold
362
+ welcome_input
298
363
  end
299
364
  end
300
365
  end
@@ -1,7 +1,28 @@
1
1
  class BeerAdvocate::Scraper
2
2
  BEER_ADVOCATE_URL = "https://www.beeradvocate.com/lists/popular/"
3
3
 
4
+ @@scraped_urls = []
5
+
6
+ def self.scraped_urls
7
+ @@scraped_urls
8
+ end
9
+
10
+ def self.find_url(url)
11
+ self.scraped_urls.find do |scraped_url_hash|
12
+ scraped_url_hash.keys.to_s.split('"')[1] == url
13
+ end
14
+ end
15
+
16
+ def self.find_url_details(url)
17
+ found_url = self.scraped_urls.find do |scraped_url_hash|
18
+ scraped_url_hash.keys.to_s.split('"')[1] == url
19
+ end
20
+ found_url[url.to_sym]
21
+ end
22
+
4
23
  def self.scrape_list_page
24
+ puts "SCRAPING #{BEER_ADVOCATE_URL} ************"
25
+
5
26
  html = open(BEER_ADVOCATE_URL)
6
27
  beer_list_page = Nokogiri::HTML(html)
7
28
 
@@ -27,6 +48,8 @@ class BeerAdvocate::Scraper
27
48
  end
28
49
 
29
50
  def self.scrape_name_page(name_url)
51
+ puts "SCRAPING #{name_url} ************"
52
+
30
53
  html = open(name_url)
31
54
  name_page = Nokogiri::HTML(html)
32
55
 
@@ -47,10 +70,16 @@ class BeerAdvocate::Scraper
47
70
  name_hash[:top_reviews] = name_hash[:top_reviews][1..9]
48
71
  name_hash[:top_reviews].delete_if {|review| review.length < 40}
49
72
 
73
+ scraped_url_hash = {}
74
+ scraped_url_hash[name_url.to_sym] = name_hash
75
+ self.scraped_urls << scraped_url_hash
76
+
50
77
  name_hash
51
78
  end
52
79
 
53
80
  def self.scrape_brewery_page(brewery_url)
81
+ puts "SCRAPING #{brewery_url} ************"
82
+
54
83
  html = open(brewery_url)
55
84
  brewery_page = Nokogiri::HTML(html)
56
85
 
@@ -65,10 +94,16 @@ class BeerAdvocate::Scraper
65
94
  brewery_hash[:phone_number] = jumbled_phone_number.split("|")[0].strip
66
95
  brewery_hash[:website] = jumbled_phone_number.split("\n")[1].strip
67
96
 
97
+ scraped_url_hash = {}
98
+ scraped_url_hash[brewery_url.to_sym] = brewery_hash
99
+ self.scraped_urls << scraped_url_hash
100
+
68
101
  brewery_hash
69
102
  end
70
103
 
71
104
  def self.scrape_style_page(style_url)
105
+ puts "SCRAPING #{style_url} ************"
106
+
72
107
  html = open(style_url)
73
108
  style_page = Nokogiri::HTML(html)
74
109
 
@@ -81,6 +116,10 @@ class BeerAdvocate::Scraper
81
116
  style_hash[:ibu] = jumbled_details[1].strip
82
117
  style_hash[:glassware] = jumbled_details[2].strip
83
118
 
119
+ scraped_url_hash = {}
120
+ scraped_url_hash[style_url.to_sym] = style_hash
121
+ self.scraped_urls << scraped_url_hash
122
+
84
123
  style_hash
85
124
  end
86
125
  end
@@ -1,3 +1,3 @@
1
1
  module BeerAdvocate
2
- VERSION = "0.1.4"
3
- end
2
+ VERSION = "0.2.0"
3
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beer-advocate-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nate Tan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-29 00:00:00.000000000 Z
11
+ date: 2019-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler