polipus 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +8 -8
  2. data/.rubocop.yml +17 -0
  3. data/.rubocop_todo.yml +37 -0
  4. data/.travis.yml +2 -1
  5. data/CHANGELOG.md +20 -0
  6. data/README.md +10 -0
  7. data/Rakefile +4 -4
  8. data/examples/basic.rb +16 -19
  9. data/examples/incremental.rb +17 -17
  10. data/examples/robots_txt_handling.rb +1 -1
  11. data/examples/survival.rb +3 -3
  12. data/lib/polipus.rb +186 -229
  13. data/lib/polipus/http.rb +41 -42
  14. data/lib/polipus/page.rb +33 -34
  15. data/lib/polipus/plugin.rb +2 -2
  16. data/lib/polipus/plugins/cleaner.rb +7 -8
  17. data/lib/polipus/plugins/sample.rb +6 -9
  18. data/lib/polipus/plugins/sleeper.rb +7 -8
  19. data/lib/polipus/queue_overflow.rb +11 -11
  20. data/lib/polipus/queue_overflow/base.rb +1 -1
  21. data/lib/polipus/queue_overflow/dev_null_queue.rb +9 -9
  22. data/lib/polipus/queue_overflow/manager.rb +28 -25
  23. data/lib/polipus/queue_overflow/mongo_queue.rb +24 -26
  24. data/lib/polipus/queue_overflow/mongo_queue_capped.rb +12 -12
  25. data/lib/polipus/robotex.rb +41 -51
  26. data/lib/polipus/signal_handler.rb +41 -0
  27. data/lib/polipus/storage.rb +11 -11
  28. data/lib/polipus/storage/base.rb +10 -8
  29. data/lib/polipus/storage/dev_null.rb +6 -7
  30. data/lib/polipus/storage/memory_store.rb +21 -22
  31. data/lib/polipus/storage/mongo_store.rb +34 -38
  32. data/lib/polipus/storage/s3_store.rb +33 -38
  33. data/lib/polipus/url_tracker.rb +3 -3
  34. data/lib/polipus/url_tracker/bloomfilter.rb +4 -5
  35. data/lib/polipus/url_tracker/redis_set.rb +3 -4
  36. data/lib/polipus/version.rb +3 -3
  37. data/polipus.gemspec +12 -13
  38. data/spec/clear.rb +3 -3
  39. data/spec/http_spec.rb +27 -28
  40. data/spec/page_spec.rb +16 -16
  41. data/spec/polipus_spec.rb +34 -31
  42. data/spec/queue_overflow_manager_spec.rb +30 -28
  43. data/spec/queue_overflow_spec.rb +15 -15
  44. data/spec/robotex_spec.rb +9 -10
  45. data/spec/signal_handler_spec.rb +18 -0
  46. data/spec/spec_helper.rb +7 -6
  47. data/spec/storage_memory_spec.rb +18 -18
  48. data/spec/storage_mongo_spec.rb +19 -19
  49. data/spec/storage_s3_spec.rb +30 -31
  50. data/spec/url_tracker_spec.rb +7 -7
  51. metadata +7 -2
@@ -1,12 +1,12 @@
1
- require "spec_helper"
2
- require "polipus/queue_overflow"
1
+ require 'spec_helper'
2
+ require 'polipus/queue_overflow'
3
3
 
4
4
  describe Polipus::QueueOverflow do
5
5
 
6
6
  before(:all) do
7
- @queue_overflow = Polipus::QueueOverflow.mongo_queue(nil, "queue_test")
8
- @queue_overflow_capped = Polipus::QueueOverflow.mongo_queue_capped(nil, "queue_test_c", {:max => 20})
9
- @queue_overflow_uniq = Polipus::QueueOverflow.mongo_queue(nil, "queue_test_u", {:ensure_uniq => true })
7
+ @queue_overflow = Polipus::QueueOverflow.mongo_queue(nil, 'queue_test')
8
+ @queue_overflow_capped = Polipus::QueueOverflow.mongo_queue_capped(nil, 'queue_test_c', max: 20)
9
+ @queue_overflow_uniq = Polipus::QueueOverflow.mongo_queue(nil, 'queue_test_u', ensure_uniq: true)
10
10
 
11
11
  end
12
12
 
@@ -26,45 +26,45 @@ describe Polipus::QueueOverflow do
26
26
  [@queue_overflow, @queue_overflow_capped, @queue_overflow_uniq].each do |q|
27
27
  q.empty?.should be_true
28
28
  q.pop.should be_nil
29
- q << "test"
29
+ q << 'test'
30
30
  q.size.should be == 1
31
- q.pop.should be == "test"
31
+ q.pop.should be == 'test'
32
32
  q.empty?.should be_true
33
33
  q.pop.should be_nil
34
34
  q.size.should be == 0
35
35
  q.empty?.should be_true
36
36
  end
37
-
37
+
38
38
  end
39
39
 
40
40
  it 'should act as a queue' do
41
41
  [@queue_overflow, @queue_overflow_capped, @queue_overflow_uniq].each do |q|
42
42
  10.times { |i| q << "message_#{i}" }
43
43
  q.size.should be == 10
44
- q.pop.should be == "message_0"
44
+ q.pop.should be == 'message_0'
45
45
  end
46
-
46
+
47
47
  end
48
48
 
49
49
  it 'should work with complex paylod' do
50
50
  [@queue_overflow, @queue_overflow_capped, @queue_overflow_uniq].each do |q|
51
- a = {'a' => [1,2,3], 'b' => 'a_string'}
51
+ a = { 'a' => [1, 2, 3], 'b' => 'a_string' }
52
52
  q << a.to_json
53
53
  b = q.pop
54
54
  JSON.parse(b).should be == a
55
55
  end
56
-
56
+
57
57
  end
58
58
 
59
59
  it 'should honor max items if it is capped' do
60
60
  30.times { |i| @queue_overflow_capped << "message_#{i}" }
61
61
  @queue_overflow_capped.size.should be == 20
62
- @queue_overflow_capped.pop.should be == "message_10"
62
+ @queue_overflow_capped.pop.should be == 'message_10'
63
63
  end
64
64
 
65
65
  it 'should contains only unique items' do
66
- 20.times {@queue_overflow_uniq << "A"}
67
- 20.times {@queue_overflow_uniq << "B"}
66
+ 20.times { @queue_overflow_uniq << 'A' }
67
+ 20.times { @queue_overflow_uniq << 'B' }
68
68
  @queue_overflow_uniq.size.should be == 2
69
69
  end
70
70
 
data/spec/robotex_spec.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
- require "polipus/robotex"
2
+ require 'polipus/robotex'
3
3
  describe Polipus::Robotex do
4
- let(:spec_domain){"http://www.example.com/"}
4
+ let(:spec_domain) { 'http://www.example.com/' }
5
5
  before(:each) do
6
6
  robots = <<-END
7
7
  User-Agent: msnbot
@@ -18,9 +18,8 @@ Disallow: /locked
18
18
  Allow: /locked
19
19
  END
20
20
  stub_request(:get, 'http://www.example.com/robots.txt')
21
- .to_return(:body => robots, :status => [200, "OK"], :headers => { "Content-Type" => 'text/plain' })
21
+ .to_return(body: robots, status: [200, 'OK'], headers: { 'Content-Type' => 'text/plain' })
22
22
  end
23
-
24
23
 
25
24
  describe '#initialize' do
26
25
  context 'when no arguments are supplied' do
@@ -71,16 +70,16 @@ END
71
70
  context 'when no Crawl-Delay is specified for the user-agent' do
72
71
  it 'returns nil' do
73
72
  robotex = Polipus::Robotex.new
74
- robotex.delay(spec_domain).should be_nil
73
+ robotex.delay(spec_domain).should be_nil
75
74
  end
76
75
 
77
- context 'when Crawl-Delay is specified for the user-agent' do
78
- it 'returns the delay as a Fixnum' do
79
- robotex = Polipus::Robotex.new('msnbot')
80
- robotex.delay(spec_domain).should == 20
76
+ context 'when Crawl-Delay is specified for the user-agent' do
77
+ it 'returns the delay as a Fixnum' do
78
+ robotex = Polipus::Robotex.new('msnbot')
79
+ robotex.delay(spec_domain).should == 20
80
+ end
81
81
  end
82
82
  end
83
- end
84
83
  end
85
84
 
86
85
  end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ describe Polipus::SignalHandler do
4
+
5
+ context 'signal handler' do
6
+
7
+ it 'should be enabled by default' do
8
+ Polipus::PolipusCrawler.new('polipus-rspec', [])
9
+ Polipus::SignalHandler.enabled?.should be true
10
+ end
11
+
12
+ it 'should be disabled if specified' do
13
+ Polipus::PolipusCrawler.new('polipus-rspec', [], enable_signal_handler: false)
14
+ Polipus::SignalHandler.enabled?.should be false
15
+ end
16
+
17
+ end
18
+ end
data/spec/spec_helper.rb CHANGED
@@ -4,9 +4,9 @@
4
4
  # loaded once.
5
5
  #
6
6
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
- require "digest/md5"
8
- require "coveralls"
9
- require "webmock/rspec"
7
+ require 'digest/md5'
8
+ require 'coveralls'
9
+ require 'webmock/rspec'
10
10
 
11
11
  Coveralls.wear!
12
12
 
@@ -26,14 +26,15 @@ RSpec.configure do |config|
26
26
  example.run
27
27
  end
28
28
  end
29
+ config.before(:each) { Polipus::SignalHandler.disable }
29
30
  end
30
- require "vcr"
31
- require "polipus"
31
+ require 'vcr'
32
+ require 'polipus'
32
33
  VCR.configure do |c|
33
34
  c.cassette_library_dir = "#{File.dirname(__FILE__)}/cassettes"
34
35
  c.hook_into :webmock
35
36
  end
36
37
 
37
- def page_factory url, params = {}
38
+ def page_factory(url, params = {})
38
39
  Polipus::Page.new url, params
39
40
  end
@@ -1,12 +1,12 @@
1
- require "spec_helper"
2
- require "mongo"
3
- require "polipus/storage/memory_store"
1
+ require 'spec_helper'
2
+ require 'mongo'
3
+ require 'polipus/storage/memory_store'
4
4
  describe Polipus::Storage::MemoryStore do
5
-
6
- let(:storage){Polipus::Storage.memory_store}
5
+
6
+ let(:storage) { Polipus::Storage.memory_store }
7
7
 
8
8
  it 'should store a page' do
9
- p = page_factory 'http://www.google.com', :code => 200, :body => '<html></html>'
9
+ p = page_factory 'http://www.google.com', code: 200, body: '<html></html>'
10
10
  uuid = storage.add p
11
11
  uuid.should be == 'ed646a3334ca891fd3467db131372140'
12
12
  storage.count.should be 1
@@ -16,7 +16,7 @@ describe Polipus::Storage::MemoryStore do
16
16
  end
17
17
 
18
18
  it 'should update a page' do
19
- p = page_factory 'http://www.google.com', :code => 301, :body => '<html></html>'
19
+ p = page_factory 'http://www.google.com', code: 301, body: '<html></html>'
20
20
  storage.add p
21
21
  p = storage.get p
22
22
  p.code.should be == 301
@@ -24,21 +24,21 @@ describe Polipus::Storage::MemoryStore do
24
24
 
25
25
  it 'should iterate over stored pages' do
26
26
  storage.each do |k, page|
27
- k.should be == "ed646a3334ca891fd3467db131372140"
27
+ k.should be == 'ed646a3334ca891fd3467db131372140'
28
28
  page.url.to_s.should be == 'http://www.google.com'
29
29
  end
30
30
  end
31
31
 
32
32
  it 'should delete a page' do
33
- p = page_factory 'http://www.google.com', :code => 301, :body => '<html></html>'
33
+ p = page_factory 'http://www.google.com', code: 301, body: '<html></html>'
34
34
  storage.remove p
35
35
  storage.get(p).should be_nil
36
36
  storage.count.should be 0
37
37
  end
38
38
 
39
39
  it 'should store a page removing a query string from the uuid generation' do
40
- p = page_factory 'http://www.asd.com/?asd=lol', :code => 200, :body => '<html></html>'
41
- p_no_query = page_factory 'http://www.asd.com/?asdas=dasda&adsda=1', :code => 200, :body => '<html></html>'
40
+ p = page_factory 'http://www.asd.com/?asd=lol', code: 200, body: '<html></html>'
41
+ p_no_query = page_factory 'http://www.asd.com/?asdas=dasda&adsda=1', code: 200, body: '<html></html>'
42
42
  storage.include_query_string_in_uuid = false
43
43
  storage.add p
44
44
  storage.exists?(p_no_query).should be_true
@@ -46,8 +46,8 @@ describe Polipus::Storage::MemoryStore do
46
46
  end
47
47
 
48
48
  it 'should store a page removing a query string from the uuid generation no ending slash' do
49
- p = page_factory 'http://www.asd.com?asd=lol', :code => 200, :body => '<html></html>'
50
- p_no_query = page_factory 'http://www.asd.com', :code => 200, :body => '<html></html>'
49
+ p = page_factory 'http://www.asd.com?asd=lol', code: 200, body: '<html></html>'
50
+ p_no_query = page_factory 'http://www.asd.com', code: 200, body: '<html></html>'
51
51
  storage.include_query_string_in_uuid = false
52
52
  storage.add p
53
53
  storage.exists?(p_no_query).should be_true
@@ -55,7 +55,7 @@ describe Polipus::Storage::MemoryStore do
55
55
  end
56
56
 
57
57
  it 'should store a page with user data associated' do
58
- p = page_factory 'http://www.user.com', :code => 200, :body => '<html></html>'
58
+ p = page_factory 'http://www.user.com', code: 200, body: '<html></html>'
59
59
  p.user_data.name = 'Test User Data'
60
60
  storage.add p
61
61
  storage.exists?(p).should be_true
@@ -66,7 +66,7 @@ describe Polipus::Storage::MemoryStore do
66
66
 
67
67
  it 'should honor the except parameters' do
68
68
  storage = Polipus::Storage.mongo_store(@mongo, '_test_pages', ['body'])
69
- p = page_factory 'http://www.user-doo.com', :code => 200, :body => '<html></html>'
69
+ p = page_factory 'http://www.user-doo.com', code: 200, body: '<html></html>'
70
70
  storage.add p
71
71
  p = storage.get p
72
72
  p.body.should be_empty
@@ -75,15 +75,15 @@ describe Polipus::Storage::MemoryStore do
75
75
 
76
76
  it 'should return false if a doc not exists' do
77
77
  storage.include_query_string_in_uuid = false
78
- p_other = page_factory 'http://www.asdrrrr.com', :code => 200, :body => '<html></html>'
78
+ p_other = page_factory 'http://www.asdrrrr.com', code: 200, body: '<html></html>'
79
79
  storage.exists?(p_other).should be_false
80
80
  storage.add p_other
81
81
  storage.exists?(p_other).should be_true
82
- p_other = page_factory 'http://www.asdrrrr.com?trk=asd-lol', :code => 200, :body => '<html></html>'
82
+ p_other = page_factory 'http://www.asdrrrr.com?trk=asd-lol', code: 200, body: '<html></html>'
83
83
  storage.exists?(p_other).should be_true
84
84
  storage.include_query_string_in_uuid = true
85
85
  storage.exists?(p_other).should be_false
86
86
 
87
87
  end
88
88
 
89
- end
89
+ end
@@ -1,9 +1,9 @@
1
- require "spec_helper"
2
- require "mongo"
3
- require "polipus/storage/mongo_store"
1
+ require 'spec_helper'
2
+ require 'mongo'
3
+ require 'polipus/storage/mongo_store'
4
4
  describe Polipus::Storage::MongoStore do
5
5
  before(:all)do
6
- @mongo = Mongo::Connection.new("localhost", 27017, :pool_size => 15, :pool_timeout => 5).db('_test_polipus')
6
+ @mongo = Mongo::Connection.new('localhost', 27_017, pool_size: 15, pool_timeout: 5).db('_test_polipus')
7
7
  @mongo['_test_pages'].drop
8
8
  @storage = Polipus::Storage.mongo_store(@mongo, '_test_pages')
9
9
  end
@@ -17,7 +17,7 @@ describe Polipus::Storage::MongoStore do
17
17
  end
18
18
 
19
19
  it 'should store a page' do
20
- p = page_factory 'http://www.google.com', :code => 200, :body => '<html></html>'
20
+ p = page_factory 'http://www.google.com', code: 200, body: '<html></html>'
21
21
  uuid = @storage.add p
22
22
  uuid.should be == 'ed646a3334ca891fd3467db131372140'
23
23
  @storage.count.should be 1
@@ -28,7 +28,7 @@ describe Polipus::Storage::MongoStore do
28
28
  end
29
29
 
30
30
  it 'should update a page' do
31
- p = page_factory 'http://www.google.com', :code => 301, :body => '<html></html>'
31
+ p = page_factory 'http://www.google.com', code: 301, body: '<html></html>'
32
32
  @storage.add p
33
33
  p = @storage.get p
34
34
  p.code.should be == 301
@@ -37,21 +37,21 @@ describe Polipus::Storage::MongoStore do
37
37
 
38
38
  it 'should iterate over stored pages' do
39
39
  @storage.each do |k, page|
40
- k.should be == "ed646a3334ca891fd3467db131372140"
40
+ k.should be == 'ed646a3334ca891fd3467db131372140'
41
41
  page.url.to_s.should be == 'http://www.google.com'
42
42
  end
43
43
  end
44
44
 
45
45
  it 'should delete a page' do
46
- p = page_factory 'http://www.google.com', :code => 301, :body => '<html></html>'
46
+ p = page_factory 'http://www.google.com', code: 301, body: '<html></html>'
47
47
  @storage.remove p
48
48
  @storage.get(p).should be_nil
49
49
  @storage.count.should be 0
50
50
  end
51
51
 
52
52
  it 'should store a page removing a query string from the uuid generation' do
53
- p = page_factory 'http://www.asd.com/?asd=lol', :code => 200, :body => '<html></html>'
54
- p_no_query = page_factory 'http://www.asd.com/?asdas=dasda&adsda=1', :code => 200, :body => '<html></html>'
53
+ p = page_factory 'http://www.asd.com/?asd=lol', code: 200, body: '<html></html>'
54
+ p_no_query = page_factory 'http://www.asd.com/?asdas=dasda&adsda=1', code: 200, body: '<html></html>'
55
55
  @storage.include_query_string_in_uuid = false
56
56
  @storage.add p
57
57
  @storage.exists?(p_no_query).should be_true
@@ -59,8 +59,8 @@ describe Polipus::Storage::MongoStore do
59
59
  end
60
60
 
61
61
  it 'should store a page removing a query string from the uuid generation no ending slash' do
62
- p = page_factory 'http://www.asd.com?asd=lol', :code => 200, :body => '<html></html>'
63
- p_no_query = page_factory 'http://www.asd.com', :code => 200, :body => '<html></html>'
62
+ p = page_factory 'http://www.asd.com?asd=lol', code: 200, body: '<html></html>'
63
+ p_no_query = page_factory 'http://www.asd.com', code: 200, body: '<html></html>'
64
64
  @storage.include_query_string_in_uuid = false
65
65
  @storage.add p
66
66
  @storage.exists?(p_no_query).should be_true
@@ -68,7 +68,7 @@ describe Polipus::Storage::MongoStore do
68
68
  end
69
69
 
70
70
  it 'should store a page with user data associated' do
71
- p = page_factory 'http://www.user.com', :code => 200, :body => '<html></html>'
71
+ p = page_factory 'http://www.user.com', code: 200, body: '<html></html>'
72
72
  p.user_data.name = 'Test User Data'
73
73
  @storage.add p
74
74
  @storage.exists?(p).should be_true
@@ -79,7 +79,7 @@ describe Polipus::Storage::MongoStore do
79
79
 
80
80
  it 'should honor the except parameters' do
81
81
  storage = Polipus::Storage.mongo_store(@mongo, '_test_pages', ['body'])
82
- p = page_factory 'http://www.user-doo.com', :code => 200, :body => '<html></html>'
82
+ p = page_factory 'http://www.user-doo.com', code: 200, body: '<html></html>'
83
83
  storage.add p
84
84
  p = storage.get p
85
85
  p.body.should be_empty
@@ -88,11 +88,11 @@ describe Polipus::Storage::MongoStore do
88
88
 
89
89
  it 'should return false if a doc not exists' do
90
90
  @storage.include_query_string_in_uuid = false
91
- p_other = page_factory 'http://www.asdrrrr.com', :code => 200, :body => '<html></html>'
91
+ p_other = page_factory 'http://www.asdrrrr.com', code: 200, body: '<html></html>'
92
92
  @storage.exists?(p_other).should be_false
93
93
  @storage.add p_other
94
94
  @storage.exists?(p_other).should be_true
95
- p_other = page_factory 'http://www.asdrrrr.com?trk=asd-lol', :code => 200, :body => '<html></html>'
95
+ p_other = page_factory 'http://www.asdrrrr.com?trk=asd-lol', code: 200, body: '<html></html>'
96
96
  @storage.exists?(p_other).should be_true
97
97
  @storage.include_query_string_in_uuid = true
98
98
  @storage.exists?(p_other).should be_false
@@ -101,7 +101,7 @@ describe Polipus::Storage::MongoStore do
101
101
 
102
102
  it 'should set page.fetched_at based on the id creation' do
103
103
  storage = Polipus::Storage.mongo_store(@mongo, '_test_pages')
104
- p = page_factory 'http://www.user-doojo.com', :code => 200, :body => '<html></html>'
104
+ p = page_factory 'http://www.user-doojo.com', code: 200, body: '<html></html>'
105
105
  storage.add p
106
106
  p.fetched_at.should be_nil
107
107
  p = storage.get p
@@ -110,11 +110,11 @@ describe Polipus::Storage::MongoStore do
110
110
 
111
111
  it 'should NOT set page.fetched_at if already present' do
112
112
  storage = Polipus::Storage.mongo_store(@mongo, '_test_pages')
113
- p = page_factory 'http://www.user-doojooo.com', :code => 200, :body => '<html></html>'
113
+ p = page_factory 'http://www.user-doojooo.com', code: 200, body: '<html></html>'
114
114
  p.fetched_at = 10
115
115
  storage.add p
116
116
  p = storage.get p
117
117
  p.fetched_at.should be 10
118
118
  end
119
119
 
120
- end
120
+ end
@@ -1,24 +1,23 @@
1
- require "spec_helper"
2
- require "aws/s3"
3
- require "polipus/storage/s3_store"
1
+ require 'spec_helper'
2
+ require 'aws/s3'
3
+ require 'polipus/storage/s3_store'
4
4
  describe Polipus::Storage::S3Store do
5
-
5
+
6
6
  before(:each) do
7
7
  @storage = Polipus::Storage.s3_store(
8
- '_test_pages',
9
- {
10
- :access_key_id => 'XXXXXXX',
11
- :secret_access_key => 'XXXX'
12
- }
8
+ '_test_pages',
9
+
10
+ access_key_id: 'XXXXXXX',
11
+ secret_access_key: 'XXXX'
12
+
13
13
  )
14
14
  end
15
-
16
- after(:each) {@storage.clear}
17
-
15
+
16
+ after(:each) { @storage.clear }
18
17
 
19
18
  it 'should store a page' do
20
19
 
21
- p = page_factory 'http://www.google.com', :code => 200, :body => '<html></html>'
20
+ p = page_factory 'http://www.google.com', code: 200, body: '<html></html>'
22
21
  uuid = @storage.add p
23
22
  uuid.should be == 'ed646a3334ca891fd3467db131372140'
24
23
  @storage.count.should be 1
@@ -30,7 +29,7 @@ describe Polipus::Storage::S3Store do
30
29
  end
31
30
 
32
31
  it 'should update a page' do
33
- p = page_factory 'http://www.google.com', :code => 301, :body => '<html></html>'
32
+ p = page_factory 'http://www.google.com', code: 301, body: '<html></html>'
34
33
  @storage.add p
35
34
  p = @storage.get p
36
35
  p.code.should be == 301
@@ -39,15 +38,15 @@ describe Polipus::Storage::S3Store do
39
38
  end
40
39
 
41
40
  it 'should iterate over stored pages' do
42
- 10.times {|i| @storage.add page_factory("http://www.google.com/p_#{i}", :code => 200, :body => "<html>#{i}</html>")}
41
+ 10.times { |i| @storage.add page_factory("http://www.google.com/p_#{i}", code: 200, body: "<html>#{i}</html>") }
43
42
  @storage.count.should be 10
44
- @storage.each do |k, page|
43
+ @storage.each do |k, _page|
45
44
  k.should be =~ /[a-f0-9]{32}/
46
45
  end
47
46
  end
48
47
 
49
48
  it 'should delete a page' do
50
- p = page_factory 'http://www.google.com', :code => 301, :body => '<html></html>'
49
+ p = page_factory 'http://www.google.com', code: 301, body: '<html></html>'
51
50
  @storage.add p
52
51
  @storage.remove p
53
52
  @storage.get(p).should be_nil
@@ -55,8 +54,8 @@ describe Polipus::Storage::S3Store do
55
54
  end
56
55
 
57
56
  it 'should store a page removing a query string from the uuid generation' do
58
- p = page_factory 'http://www.asd.com/?asd=lol', :code => 200, :body => '<html></html>'
59
- p_no_query = page_factory 'http://www.asd.com/?asdas=dasda&adsda=1', :code => 200, :body => '<html></html>'
57
+ p = page_factory 'http://www.asd.com/?asd=lol', code: 200, body: '<html></html>'
58
+ p_no_query = page_factory 'http://www.asd.com/?asdas=dasda&adsda=1', code: 200, body: '<html></html>'
60
59
  @storage.include_query_string_in_uuid = false
61
60
  @storage.add p
62
61
  @storage.exists?(p_no_query).should be_true
@@ -64,8 +63,8 @@ describe Polipus::Storage::S3Store do
64
63
  end
65
64
 
66
65
  it 'should store a page removing a query string from the uuid generation no ending slash' do
67
- p = page_factory 'http://www.asd.com?asd=lol', :code => 200, :body => '<html></html>'
68
- p_no_query = page_factory 'http://www.asd.com', :code => 200, :body => '<html></html>'
66
+ p = page_factory 'http://www.asd.com?asd=lol', code: 200, body: '<html></html>'
67
+ p_no_query = page_factory 'http://www.asd.com', code: 200, body: '<html></html>'
69
68
  @storage.include_query_string_in_uuid = false
70
69
  @storage.add p
71
70
  @storage.exists?(p_no_query).should be_true
@@ -73,7 +72,7 @@ describe Polipus::Storage::S3Store do
73
72
  end
74
73
 
75
74
  it 'should store a page with user data associated' do
76
- p = page_factory 'http://www.user.com', :code => 200, :body => '<html></html>'
75
+ p = page_factory 'http://www.user.com', code: 200, body: '<html></html>'
77
76
  p.user_data.name = 'Test User Data'
78
77
  @storage.add p
79
78
  @storage.exists?(p).should be_true
@@ -83,15 +82,15 @@ describe Polipus::Storage::S3Store do
83
82
  end
84
83
 
85
84
  it 'should honor the except parameters' do
86
- storage = storage = Polipus::Storage.s3_store(
87
- '_test_pages',
88
- {
89
- :access_key_id => 'XXXXXXX',
90
- :secret_access_key => 'XXXX'
85
+ storage = Polipus::Storage.s3_store(
86
+ '_test_pages',
87
+ {
88
+ access_key_id: 'XXXXXXX',
89
+ secret_access_key: 'XXXX'
91
90
  },
92
91
  ['body']
93
92
  )
94
- p = page_factory 'http://www.user-doo.com', :code => 200, :body => '<html></html>'
93
+ p = page_factory 'http://www.user-doo.com', code: 200, body: '<html></html>'
95
94
  storage.add p
96
95
  p = storage.get p
97
96
 
@@ -101,15 +100,15 @@ describe Polipus::Storage::S3Store do
101
100
 
102
101
  it 'should return false if a doc not exists' do
103
102
  @storage.include_query_string_in_uuid = false
104
- p_other = page_factory 'http://www.asdrrrr.com', :code => 200, :body => '<html></html>'
103
+ p_other = page_factory 'http://www.asdrrrr.com', code: 200, body: '<html></html>'
105
104
  @storage.exists?(p_other).should be_false
106
105
  @storage.add p_other
107
106
  @storage.exists?(p_other).should be_true
108
- p_other = page_factory 'http://www.asdrrrr.com?trk=asd-lol', :code => 200, :body => '<html></html>'
107
+ p_other = page_factory 'http://www.asdrrrr.com?trk=asd-lol', code: 200, body: '<html></html>'
109
108
  @storage.exists?(p_other).should be_true
110
109
  @storage.include_query_string_in_uuid = true
111
110
  @storage.exists?(p_other).should be_false
112
111
  @storage.remove p_other
113
112
  end
114
113
 
115
- end
114
+ end