lcbo 0.9.8 → 0.9.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,7 +4,8 @@ require 'yaml'
4
4
  { :product_pages => LCBO::ProductPage,
5
5
  :store_pages => LCBO::StorePage,
6
6
  :inventory_pages => LCBO::InventoryPage,
7
- :product_list_pages => LCBO::ProductListPage
7
+ :product_list_pages => LCBO::ProductListPage,
8
+ :store_list_pages => LCBO::StoreListPage
8
9
  }.each_pair do |type, page|
9
10
 
10
11
  describe(page) do
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 9
8
- - 8
9
- version: 0.9.8
8
+ - 9
9
+ version: 0.9.9
10
10
  platform: ruby
11
11
  authors:
12
12
  - Carsten Nielsen
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-12-04 00:00:00 -05:00
17
+ date: 2010-12-06 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -76,11 +76,6 @@ files:
76
76
  - Rakefile
77
77
  - lcbo.gemspec
78
78
  - lib/lcbo.rb
79
- - lib/lcbo/crawlers.rb
80
- - lib/lcbo/crawlers/inventories_crawler.rb
81
- - lib/lcbo/crawlers/product_lists_crawler.rb
82
- - lib/lcbo/crawlers/products_crawler.rb
83
- - lib/lcbo/crawlers/stores_crawler.rb
84
79
  - lib/lcbo/crawlkit.rb
85
80
  - lib/lcbo/crawlkit/eventable.rb
86
81
  - lib/lcbo/crawlkit/fastdate_helper.rb
@@ -96,6 +91,7 @@ files:
96
91
  - lib/lcbo/pages/inventory_page.rb
97
92
  - lib/lcbo/pages/product_list_page.rb
98
93
  - lib/lcbo/pages/product_page.rb
94
+ - lib/lcbo/pages/store_list_page.rb
99
95
  - lib/lcbo/pages/store_page.rb
100
96
  - lib/lcbo/version.rb
101
97
  - spec/crawlkit/eventable_spec.rb
@@ -121,6 +117,9 @@ files:
121
117
  - spec/pages/product_pages/5.html
122
118
  - spec/pages/product_pages/6.html
123
119
  - spec/pages/product_pages/7.html
120
+ - spec/pages/product_pages/8.html
121
+ - spec/pages/store_list_pages.yml
122
+ - spec/pages/store_list_pages/1.html
124
123
  - spec/pages/store_pages.yml
125
124
  - spec/pages/store_pages/1.html
126
125
  - spec/pages/store_pages/2.html
@@ -184,6 +183,9 @@ test_files:
184
183
  - spec/pages/product_pages/5.html
185
184
  - spec/pages/product_pages/6.html
186
185
  - spec/pages/product_pages/7.html
186
+ - spec/pages/product_pages/8.html
187
+ - spec/pages/store_list_pages.yml
188
+ - spec/pages/store_list_pages/1.html
187
189
  - spec/pages/store_pages.yml
188
190
  - spec/pages/store_pages/1.html
189
191
  - spec/pages/store_pages/2.html
@@ -1,4 +0,0 @@
1
- require 'lcbo/crawlers/inventories_crawler'
2
- require 'lcbo/crawlers/products_crawler'
3
- require 'lcbo/crawlers/product_lists_crawler'
4
- require 'lcbo/crawlers/stores_crawler'
@@ -1,15 +0,0 @@
1
- module LCBO
2
- class InventoriesCrawler
3
-
4
- def self.run(product_nos, &block)
5
- raise ArgumentError, 'block expected' unless block_given?
6
- product_nos.each do |product_no|
7
- begin
8
- yield InventoryRequest.parse(:product_no => product_no).as_hash
9
- rescue
10
- end
11
- end
12
- end
13
-
14
- end
15
- end
@@ -1,22 +0,0 @@
1
- module LCBO
2
- class ProductListsCrawler
3
-
4
- MAX_RETRIES = 10
5
-
6
- class EpicTimeoutError < StandardError; end
7
-
8
- def self.run(params = {}, tries = 0, &block)
9
- raise ArgumentError, 'block expected' unless block_given?
10
- begin
11
- payload = LCBO.product_list(params[:page] || 1)
12
- yield(payload)
13
- run(:page => payload[:next_page], &block) if payload[:next_page]
14
- rescue Errno::ETIMEDOUT, Timeout::Error
15
- # On timeout, try again.
16
- raise EpicTimeoutError if tries > MAX_RETRIES
17
- run(params, (tries + 1), &block)
18
- end
19
- end
20
-
21
- end
22
- end
@@ -1,16 +0,0 @@
1
- module LCBO
2
- class ProductsCrawler
3
-
4
- def self.run(product_nos, &block)
5
- raise ArgumentError, 'block expected' unless block_given?
6
- product_nos.each do |product_no|
7
- begin
8
- yield ProductRequest.parse(:product_no => product_no).as_hash
9
- rescue CrawlKit::MissingResourceError, Errno::ETIMEDOUT, Timeout::Error
10
- # Ignore products with no data, and timeouts.
11
- end
12
- end
13
- end
14
-
15
- end
16
- end
@@ -1,25 +0,0 @@
1
- module LCBO
2
- class StoresCrawler
3
-
4
- MAX_STORE_NO = 850
5
- MAX_RETRIES = 10
6
-
7
- class EpicTimeoutError < StandardError; end
8
-
9
- def self.run(params, tries = 0, &block)
10
- begin
11
- payload = LCBO.store(params[:store_no])
12
- yield payload
13
- params[:store_no] = params[:store_nos].pop
14
- run(params, &block)
15
- rescue Errno::ETIMEDOUT, Timeout::Error
16
- raise EpicTimeoutError if tries > MAX_RETRIES
17
- run(params, (tries + 1), &block)
18
- rescue LCBO::StorePage::MissingResourceError
19
- params[:store_no] = params[:store_nos].pop
20
- run(params, &block)
21
- end
22
- end
23
-
24
- end
25
- end