beer-advocate-cli 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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