alephant-broker 3.16.2 → 3.17.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
  SHA1:
3
- metadata.gz: 3187ff4748e0bb5bc849bc09aa4743e05f9d7c3c
4
- data.tar.gz: 4ce94f6c24687d4aa299bb1c33adbfff50ea0197
3
+ metadata.gz: 79ffc0d688acfa52b4b51a2c2272292c2e9d56de
4
+ data.tar.gz: 06cba46f0b07201a0d10cf496db2ba3f04d0b96e
5
5
  SHA512:
6
- metadata.gz: a8123c1eb40579c15a8aad3e6e93306fb6532066db946e2a35c31986ed72e17ccd5fd6bc15477dea3657d9395d8994a9e5cb2f5f2743e5c66c138f142f4fc4da
7
- data.tar.gz: e510b456c07e302a4765ad749e85bf7dae03a315f72a9c5e180627a7e4479f43defde9f6665f95a0fc30af49eee633817b7c62c9145ffe9a8c000718d4378c00
6
+ metadata.gz: 9d43960d272a526f2fd73e7be91e828b38dfafecdafeac315610b901cd2b462d728091db477a7adbe08fad7587b8009f587389c8a75d67177fd5f6bad8e5568d
7
+ data.tar.gz: 546a4468df7246a3121f3b3cdd01422c1a4fc6467a8ded2cf359bce99e2c2cd000e30fb65540ad78f8ab977bfbd2bb4a1cc6b469de319a44dedf911e78b61209
@@ -1 +1 @@
1
- jruby-1.7.25
1
+ 2.3
@@ -1,24 +1,10 @@
1
- sudo: false
2
- cache: bundler
3
1
  language: ruby
4
-
5
- # Ruby build matrix
6
2
  rvm:
7
- - 2.0
8
- - 2.1
9
- - 2.2
10
- - 2.3.0
11
- - 2.3.1
12
- - jruby-1.7.25
13
-
14
- # Environment variables
15
- env:
16
- - RUBYOPT="-W0"
17
-
18
- # Ensure we don't build for *every* commit (doesn't apply to PR builds)
19
- branches:
20
- only:
21
- - master
22
-
23
- script:
24
- - bundle exec rspec --format documentation
3
+ - "2.3"
4
+ - "jruby"
5
+ notifications:
6
+ email:
7
+ recipients:
8
+ - D&ENewsFrameworksTeam@bbc.co.uk
9
+ on_failure: change
10
+ on_success: never
data/README.md CHANGED
@@ -126,7 +126,7 @@ end
126
126
 
127
127
  The "Revalidate" strategy uses the following process flow:
128
128
 
129
- ![https://raw.githubusercontent.com/BBC-News/Documentation/master/Alephant/Diagrams/Alephant%20Revalidate%20Broker.png?token=AADB7YskdW22P6z-hDjfk12UiR7bZA8Jks5XkI7EwA%3D%3D](https://raw.githubusercontent.com/BBC-News/Documentation/master/Alephant/Diagrams/Alephant%20Revalidate%20Broker.png?token=AADB7YskdW22P6z-hDjfk12UiR7bZA8Jks5XkI7EwA%3D%3D)
129
+ ![https://github.com/BBC-News/Documentation/blob/master/Alephant/Diagrams/Alephant%20Revalidate%20Broker.png?raw=true](https://github.com/BBC-News/Documentation/blob/master/Alephant/Diagrams/Alephant%20Revalidate%20Broker.png?raw=true)
130
130
 
131
131
  And uses the following AWS resources:
132
132
 
@@ -33,10 +33,12 @@ Gem::Specification.new do |spec|
33
33
  spec.add_development_dependency "simplecov"
34
34
  spec.add_development_dependency "timecop"
35
35
 
36
- spec.add_runtime_dependency "alephant-lookup", ">= 2.0.2"
37
- spec.add_runtime_dependency "alephant-storage", ">= 1.1.1"
38
- spec.add_runtime_dependency "alephant-logger", "~> 3.1.4"
36
+ spec.add_runtime_dependency "alephant-lookup"
37
+ spec.add_runtime_dependency "alephant-storage"
38
+ spec.add_runtime_dependency "alephant-logger"
39
39
  spec.add_runtime_dependency 'alephant-sequencer'
40
+ spec.add_runtime_dependency "aws-sdk-sqs"
41
+ spec.add_runtime_dependency "aws-sdk-s3"
40
42
  spec.add_runtime_dependency "dalli-elasticache"
41
43
  spec.add_runtime_dependency "faraday"
42
44
  spec.add_runtime_dependency "crimp"
@@ -15,7 +15,7 @@ module Alephant
15
15
 
16
16
  def fetch
17
17
  Alephant::Broker::Cache::CachedObject.new(s3.get(s3_path))
18
- rescue AWS::S3::Errors::NoSuchKey, InvalidCacheKey => error
18
+ rescue Aws::S3::Errors::NoSuchKey, InvalidCacheKey => error
19
19
  logger.info(event: 'ErrorCaught', method: "#{self.class}#fetch", error: error)
20
20
  logger.metric('S3InvalidCacheKey')
21
21
  raise Alephant::Broker::Errors::ContentNotFound
@@ -22,35 +22,37 @@ module Alephant
22
22
 
23
23
  logger.info(event: 'QueueMessage', message: message, method: "#{self.class}#refresh")
24
24
 
25
- queue.send_message(message)
25
+ client.send_message(
26
+ queue_url: queue_url,
27
+ message_body: message
28
+ )
29
+
26
30
  cache.set(inflight_cache_key, true, INFLIGHT_CACHE_TTL)
27
31
  end
28
32
 
29
33
  private
30
34
 
31
- def message
32
- ::JSON.generate(id: component_meta.id,
33
- batch_id: component_meta.batch_id,
34
- options: component_meta.options,
35
- timestamp: Time.now.to_s)
36
- end
37
-
38
- def queue
39
- @queue ||= proc do
40
- client = AWS::SQS.new
41
- url = client.queues.url_for(Broker.config[:sqs_queue_name], queue_options)
35
+ def client
36
+ options = {}
37
+ options[:endpoint] = ENV['AWS_SQS_ENDPOINT'] if ENV['AWS_SQS_ENDPOINT']
38
+ options[:queue_owner_aws_account_id] = aws_acc_id if aws_acc_id
42
39
 
43
- client.queues[url]
44
- end.call
40
+ @client ||= Aws::SQS::Client.new(options)
45
41
  end
46
42
 
47
- def queue_options
48
- opts = {}
49
- opts[:queue_owner_aws_account_id] = aws_acc_id if aws_acc_id
43
+ def queue_url
44
+ options = {
45
+ queue_name: Broker.config[:sqs_queue_name]
46
+ }
50
47
 
51
- logger.info(event: 'SQSQueueOptionsConfigured', options: opts, method: "#{self.class}#queue_options")
48
+ client.get_queue_url(options).queue_url
49
+ end
52
50
 
53
- opts
51
+ def message
52
+ ::JSON.generate(id: component_meta.id,
53
+ batch_id: component_meta.batch_id,
54
+ options: component_meta.options,
55
+ timestamp: Time.now.to_s)
54
56
  end
55
57
 
56
58
  def aws_acc_id
@@ -60,7 +60,7 @@ module Alephant
60
60
  def retrieve_object(component_meta)
61
61
  @cached = false
62
62
  s3.get s3_path(component_meta)
63
- rescue AWS::S3::Errors::NoSuchKey, InvalidCacheKey
63
+ rescue Aws::S3::Errors::NoSuchKey, InvalidCacheKey
64
64
  logger.metric "S3InvalidCacheKey"
65
65
  raise Alephant::Broker::Errors::ContentNotFound
66
66
  end
@@ -1,6 +1,8 @@
1
1
  require "alephant/broker/errors/invalid_cache_key"
2
2
  require "alephant/logger"
3
- require "aws-sdk"
3
+ require "aws-sdk-s3"
4
+ require "aws-sdk-sqs"
5
+
4
6
  require "ostruct"
5
7
  require "date"
6
8
 
@@ -1,5 +1,5 @@
1
1
  module Alephant
2
2
  module Broker
3
- VERSION = "3.16.2".freeze
3
+ VERSION = "3.17.0".freeze
4
4
  end
5
5
  end
@@ -23,15 +23,15 @@ RSpec.describe Alephant::Broker::LoadStrategy::Revalidate::Fetcher do
23
23
  let(:content_type) { "text/html" }
24
24
 
25
25
  let(:content) do
26
- instance_double(AWS::S3::S3Object,
26
+ {
27
27
  :content_type => "test/content",
28
- :read => "Test",
28
+ :body => "Test",
29
29
  :metadata => {
30
30
  "ttl" => 30,
31
31
  "head_ETag" => "123",
32
32
  "head_Last-Modified" => "Mon, 11 Apr 2016 10:39:57 GMT"
33
33
  }
34
- )
34
+ }
35
35
  end
36
36
 
37
37
  before do
@@ -75,7 +75,7 @@ RSpec.describe Alephant::Broker::LoadStrategy::Revalidate::Fetcher do
75
75
  before do
76
76
  allow(storage_double)
77
77
  .to receive(:get)
78
- .and_raise(AWS::S3::Errors::NoSuchKey.new(nil, nil))
78
+ .and_raise(Aws::S3::Errors::NoSuchKey.new(nil, nil))
79
79
  end
80
80
 
81
81
  it "raises an Alephant::Broker::Errors::ContentNotFound error" do
@@ -7,20 +7,19 @@ RSpec.describe Alephant::Broker::LoadStrategy::Revalidate::Refresher do
7
7
  Alephant::Broker::ComponentMeta.new("test", "test_batch", {})
8
8
  end
9
9
 
10
- let(:sqs_double) { instance_double(AWS::SQS, :queues => sqs_queues_double) }
11
- let(:sqs_queue_double) { instance_double(AWS::SQS::Queue) }
12
- let(:sqs_queues_double) { instance_double(AWS::SQS::QueueCollection, :url_for => "example.com", :[] => sqs_queue_double) }
13
-
14
10
  let(:config) { { :aws_account_id => "12345", :sqs_queue_name => "bob" } }
15
11
 
16
12
  let(:cache) { subject.send(:cache) }
17
13
  let(:cache_key) { subject.send(:cache_key) }
18
14
  let(:inflight_cache_key) { subject.send(:inflight_cache_key) }
19
15
 
16
+ let(:queue_url) { 'http://sqs.aws.myqueue/id' }
17
+ let(:fake_client) { Aws::SQS::Client.new(stub_responses: true) }
18
+
20
19
  before do
20
+ allow(subject).to receive(:client).and_return(fake_client)
21
21
  allow_any_instance_of(Logger).to receive(:info)
22
22
  allow_any_instance_of(Logger).to receive(:debug)
23
- allow(AWS::SQS).to receive(:new).and_return(sqs_double)
24
23
  allow(Alephant::Broker).to receive(:config).and_return(config)
25
24
  end
26
25
 
@@ -48,10 +47,12 @@ RSpec.describe Alephant::Broker::LoadStrategy::Revalidate::Refresher do
48
47
  .and_return(nil)
49
48
  end
50
49
 
51
- it "adds a message to the SQS queue, ",
52
- "and puts a 'inflight' message in the cache" do
50
+ it "adds a message to the SQS queue, and puts a 'inflight' message in the cache" do
51
+ fake_client.stub_responses(:get_queue_url, { queue_url: queue_url })
52
+
53
+ expect(fake_client).to receive(:send_message)
54
+
53
55
  expect(cache).to receive(:set).with(inflight_cache_key, true, described_class::INFLIGHT_CACHE_TTL)
54
- expect(sqs_queue_double).to receive(:send_message)
55
56
 
56
57
  subject.refresh
57
58
  end
@@ -59,9 +60,10 @@ RSpec.describe Alephant::Broker::LoadStrategy::Revalidate::Refresher do
59
60
  context "there was a problem pushing a message onto the queue" do
60
61
  it "does NOT put an 'inflight' message in the cache" do
61
62
  expect(cache).to_not receive(:set)
62
- expect(sqs_queue_double).to receive(:send_message).and_raise
63
63
 
64
- expect { subject.refresh }.to raise_error
64
+ expect(fake_client).to receive(:send_message).and_raise
65
+
66
+ expect { subject.refresh }.to raise_error(RuntimeError)
65
67
  end
66
68
  end
67
69
  end
@@ -21,14 +21,14 @@ describe Alephant::Broker::Application do
21
21
  end
22
22
 
23
23
  let(:content) do
24
- AWS::Core::Data.new(
24
+ {
25
25
  :content_type => "test/content",
26
26
  :content => "Test",
27
27
  :meta => {
28
28
  "head_ETag" => "123",
29
29
  "head_Last-Modified" => "Mon, 11 Apr 2016 10:39:57 GMT"
30
30
  }
31
- )
31
+ }
32
32
  end
33
33
 
34
34
  let(:sequencer_double) do
@@ -99,14 +99,14 @@ describe Alephant::Broker::Application do
99
99
  allow(s3_double_with_etag).to receive(:get)
100
100
  .with("test/location/with/options")
101
101
  .and_return(
102
- AWS::Core::Data.new(
102
+ {
103
103
  :content_type => "test/content",
104
104
  :content => "Test",
105
105
  :meta => {
106
106
  "head_ETag" => "abc",
107
107
  "head_Last-Modified" => "Mon, 11 Apr 2016 09:39:57 GMT"
108
108
  }
109
- )
109
+ }
110
110
  )
111
111
 
112
112
  allow(Alephant::Storage).to receive(:new) { s3_double_with_etag }
@@ -170,14 +170,14 @@ describe Alephant::Broker::Application do
170
170
  allow(s3_double_with_etag).to receive(:get)
171
171
  .with("test/location/with/options")
172
172
  .and_return(
173
- AWS::Core::Data.new(
173
+ {
174
174
  :content_type => "test/content",
175
175
  :content => "Test",
176
176
  :meta => {
177
177
  "head_ETag" => "abc",
178
178
  "head_Last-Modified" => "Mon, 11 Apr 2016 09:39:57 GMT"
179
179
  }
180
- )
180
+ }
181
181
  )
182
182
 
183
183
  allow(Alephant::Storage).to receive(:new) { s3_double_with_etag }
@@ -19,14 +19,14 @@ describe Alephant::Broker::Application do
19
19
  end
20
20
 
21
21
  let(:content) do
22
- AWS::Core::Data.new(
22
+ {
23
23
  :content_type => "test/content",
24
24
  :content => "Test",
25
25
  :meta => {
26
26
  "head_ETag" => "123",
27
27
  "head_Last-Modified" => "Mon, 11 Apr 2016 10:39:57 GMT"
28
28
  }
29
- )
29
+ }
30
30
  end
31
31
 
32
32
  let(:sequencer_double) do
@@ -145,14 +145,14 @@ describe Alephant::Broker::Application do
145
145
  before do
146
146
  allow(s3_double_batch).to receive(:get).and_return(
147
147
  content,
148
- AWS::Core::Data.new(
148
+ {
149
149
  :content_type => "test/content",
150
150
  :content => "Test",
151
151
  :meta => {
152
152
  :head_ETag => "\"abc\"",
153
153
  :"head_Last-Modified" => "Mon, 11 Apr 2016 09:39:57 GMT"
154
154
  }
155
- )
155
+ }
156
156
  )
157
157
 
158
158
  allow(Alephant::Storage).to receive(:new) { s3_double_batch }
@@ -194,14 +194,14 @@ describe Alephant::Broker::Application do
194
194
  before do
195
195
  allow(s3_double_batch).to receive(:get).and_return(
196
196
  content,
197
- AWS::Core::Data.new(
197
+ {
198
198
  :content_type => "test/content",
199
199
  :content => "Test",
200
200
  :meta => {
201
201
  :head_ETag => "\"abc\"",
202
202
  :"head_Last-Modified" => "Mon, 11 Apr 2016 09:39:57 GMT"
203
203
  }
204
- )
204
+ }
205
205
  )
206
206
 
207
207
  allow(Alephant::Storage).to receive(:new) { s3_double_batch }
@@ -240,14 +240,14 @@ describe Alephant::Broker::Application do
240
240
  before do
241
241
  allow(s3_double_batch).to receive(:get).and_return(
242
242
  content,
243
- AWS::Core::Data.new(
243
+ {
244
244
  :content_type => "test/content",
245
245
  :content => "Test",
246
246
  :meta => {
247
247
  :head_ETag => "\"abc\"",
248
248
  :"head_Last-Modified" => "Mon, 11 Apr 2016 09:39:57 GMT"
249
249
  }
250
- )
250
+ }
251
251
  )
252
252
 
253
253
  allow(Alephant::Storage).to receive(:new) { s3_double_batch }
@@ -281,10 +281,10 @@ describe Alephant::Broker::Application do
281
281
 
282
282
  describe "S3 headers" do
283
283
  let(:content) do
284
- AWS::Core::Data.new(
284
+ {
285
285
  :content => "missing_content",
286
286
  :meta => {}
287
- )
287
+ }
288
288
  end
289
289
  let(:s3_double) do
290
290
  instance_double(
@@ -352,13 +352,17 @@ describe Alephant::Broker::Application do
352
352
  :content => "<p>Some data</p>",
353
353
  :meta => {}
354
354
  },
355
- :get => "<p>Some data</p>"
355
+ :get => "<p>Some data</p>" # @TODO: What should cache return?
356
356
  )
357
357
  end
358
358
  let(:s3_double) do
359
359
  instance_double(
360
360
  "Alephant::Storage",
361
- :get => "test_content"
361
+ :get => {
362
+ :content_type => "test/html",
363
+ :content => "<p>Some data</p>",
364
+ :meta => {}
365
+ }
362
366
  )
363
367
  end
364
368
 
@@ -35,9 +35,8 @@ describe Alephant::Broker::Application do
35
35
  let(:lookup_location_double) { instance_double(Alephant::Lookup::LookupLocation, location: 'test/location') }
36
36
  let(:lookup_helper_double) { instance_double(Alephant::Lookup::LookupHelper, read: lookup_location_double) }
37
37
  let(:storage_double) { instance_double(Alephant::Storage, get: content) }
38
- let(:sqs_double) { instance_double(AWS::SQS, queues: sqs_queues_double) }
39
- let(:sqs_queue_double) { instance_double(AWS::SQS::Queue, send_message: nil) }
40
- let(:sqs_queues_double) { instance_double(AWS::SQS::QueueCollection, :url_for => 'example.com', :[] => sqs_queue_double) }
38
+
39
+ let(:fake_client) { Aws::SQS::Client.new(stub_responses: true) }
41
40
 
42
41
  before do
43
42
  allow_any_instance_of(Logger).to receive(:info)
@@ -45,7 +44,8 @@ describe Alephant::Broker::Application do
45
44
  allow(Thread).to receive(:new).and_yield
46
45
  allow(Alephant::Lookup).to receive(:create).and_return(lookup_helper_double)
47
46
  allow(Alephant::Storage).to receive(:new).and_return(storage_double)
48
- allow(AWS::SQS).to receive(:new).and_return(sqs_double)
47
+ allow_any_instance_of(Alephant::Broker::LoadStrategy::Revalidate::Refresher).to receive(:client).and_return(fake_client)
48
+ fake_client.stub_responses(:get_queue_url, { queue_url: 'http://sqs.aws.myqueue/id' })
49
49
  end
50
50
 
51
51
  describe 'GET `/status`' do
@@ -82,7 +82,7 @@ describe Alephant::Broker::Application do
82
82
  before do
83
83
  allow(storage_double)
84
84
  .to receive(:get)
85
- .and_raise(AWS::S3::Errors::NoSuchKey.new(nil, nil))
85
+ .and_raise(Aws::S3::Errors::NoSuchKey.new(nil, nil))
86
86
 
87
87
  get('/component/test_component')
88
88
  end
@@ -128,7 +128,7 @@ describe Alephant::Broker::Application do
128
128
  before do
129
129
  allow(storage_double)
130
130
  .to receive(:get)
131
- .and_raise(AWS::S3::Errors::NoSuchKey.new(nil, nil))
131
+ .and_raise(Aws::S3::Errors::NoSuchKey.new(nil, nil))
132
132
 
133
133
  post(path, batch_json, 'CONTENT_TYPE' => content_type)
134
134
  end
@@ -157,7 +157,7 @@ describe Alephant::Broker::Application do
157
157
  before do
158
158
  allow(storage_double)
159
159
  .to receive(:get)
160
- .and_raise(AWS::S3::Errors::NoSuchKey.new(nil, nil))
160
+ .and_raise(Aws::S3::Errors::NoSuchKey.new(nil, nil))
161
161
 
162
162
  get(path, {}, 'CONTENT_TYPE' => content_type)
163
163
  end
metadata CHANGED
@@ -1,321 +1,349 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alephant-broker
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.16.2
4
+ version: 3.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - BBC News
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-19 00:00:00.000000000 Z
11
+ date: 2018-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: rspec
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
- - - '>='
17
+ - - ">="
17
18
  - !ruby/object:Gem::Version
18
19
  version: '0'
19
- name: rspec
20
- prerelease: false
21
20
  type: :development
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
+ name: rspec-nc
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - '>='
31
+ - - ">="
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
- name: rspec-nc
34
- prerelease: false
35
34
  type: :development
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
+ name: guard
42
43
  requirement: !ruby/object:Gem::Requirement
43
44
  requirements:
44
- - - '>='
45
+ - - ">="
45
46
  - !ruby/object:Gem::Version
46
47
  version: '0'
47
- name: guard
48
- prerelease: false
49
48
  type: :development
49
+ prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
+ name: guard-rspec
56
57
  requirement: !ruby/object:Gem::Requirement
57
58
  requirements:
58
- - - '>='
59
+ - - ">="
59
60
  - !ruby/object:Gem::Version
60
61
  version: '0'
61
- name: guard-rspec
62
- prerelease: false
63
62
  type: :development
63
+ prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
+ name: pry
70
71
  requirement: !ruby/object:Gem::Requirement
71
72
  requirements:
72
- - - '>='
73
+ - - ">="
73
74
  - !ruby/object:Gem::Version
74
75
  version: '0'
75
- name: pry
76
- prerelease: false
77
76
  type: :development
77
+ prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
+ name: pry-remote
84
85
  requirement: !ruby/object:Gem::Requirement
85
86
  requirements:
86
- - - '>='
87
+ - - ">="
87
88
  - !ruby/object:Gem::Version
88
89
  version: '0'
89
- name: pry-remote
90
- prerelease: false
91
90
  type: :development
91
+ prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
+ name: pry-nav
98
99
  requirement: !ruby/object:Gem::Requirement
99
100
  requirements:
100
- - - '>='
101
+ - - ">="
101
102
  - !ruby/object:Gem::Version
102
103
  version: '0'
103
- name: pry-nav
104
- prerelease: false
105
104
  type: :development
105
+ prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
+ name: rake-rspec
112
113
  requirement: !ruby/object:Gem::Requirement
113
114
  requirements:
114
- - - '>='
115
+ - - ">="
115
116
  - !ruby/object:Gem::Version
116
117
  version: 0.0.2
117
- name: rake-rspec
118
- prerelease: false
119
118
  type: :development
119
+ prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: 0.0.2
125
125
  - !ruby/object:Gem::Dependency
126
+ name: bundler
126
127
  requirement: !ruby/object:Gem::Requirement
127
128
  requirements:
128
- - - ~>
129
+ - - "~>"
129
130
  - !ruby/object:Gem::Version
130
131
  version: '1.5'
131
- name: bundler
132
- prerelease: false
133
132
  type: :development
133
+ prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ~>
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '1.5'
139
139
  - !ruby/object:Gem::Dependency
140
+ name: rake
140
141
  requirement: !ruby/object:Gem::Requirement
141
142
  requirements:
142
- - - '>='
143
+ - - ">="
143
144
  - !ruby/object:Gem::Version
144
145
  version: '0'
145
- name: rake
146
- prerelease: false
147
146
  type: :development
147
+ prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
+ name: rack
154
155
  requirement: !ruby/object:Gem::Requirement
155
156
  requirements:
156
- - - <
157
+ - - "<"
157
158
  - !ruby/object:Gem::Version
158
159
  version: 2.0.0
159
- name: rack
160
- prerelease: false
161
160
  type: :development
161
+ prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - <
164
+ - - "<"
165
165
  - !ruby/object:Gem::Version
166
166
  version: 2.0.0
167
167
  - !ruby/object:Gem::Dependency
168
+ name: rack-test
168
169
  requirement: !ruby/object:Gem::Requirement
169
170
  requirements:
170
- - - '>='
171
+ - - ">="
171
172
  - !ruby/object:Gem::Version
172
173
  version: '0'
173
- name: rack-test
174
- prerelease: false
175
174
  type: :development
175
+ prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - '>='
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
+ name: simplecov
182
183
  requirement: !ruby/object:Gem::Requirement
183
184
  requirements:
184
- - - '>='
185
+ - - ">="
185
186
  - !ruby/object:Gem::Version
186
187
  version: '0'
187
- name: simplecov
188
- prerelease: false
189
188
  type: :development
189
+ prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - '>='
192
+ - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  - !ruby/object:Gem::Dependency
196
+ name: timecop
196
197
  requirement: !ruby/object:Gem::Requirement
197
198
  requirements:
198
- - - '>='
199
+ - - ">="
199
200
  - !ruby/object:Gem::Version
200
201
  version: '0'
201
- name: timecop
202
- prerelease: false
203
202
  type: :development
203
+ prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - '>='
206
+ - - ">="
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0'
209
209
  - !ruby/object:Gem::Dependency
210
+ name: alephant-lookup
210
211
  requirement: !ruby/object:Gem::Requirement
211
212
  requirements:
212
- - - '>='
213
+ - - ">="
213
214
  - !ruby/object:Gem::Version
214
- version: 2.0.2
215
- name: alephant-lookup
216
- prerelease: false
215
+ version: '0'
217
216
  type: :runtime
217
+ prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
- - - '>='
220
+ - - ">="
221
221
  - !ruby/object:Gem::Version
222
- version: 2.0.2
222
+ version: '0'
223
223
  - !ruby/object:Gem::Dependency
224
+ name: alephant-storage
224
225
  requirement: !ruby/object:Gem::Requirement
225
226
  requirements:
226
- - - '>='
227
+ - - ">="
227
228
  - !ruby/object:Gem::Version
228
- version: 1.1.1
229
- name: alephant-storage
230
- prerelease: false
229
+ version: '0'
231
230
  type: :runtime
231
+ prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
- - - '>='
234
+ - - ">="
235
235
  - !ruby/object:Gem::Version
236
- version: 1.1.1
236
+ version: '0'
237
237
  - !ruby/object:Gem::Dependency
238
+ name: alephant-logger
238
239
  requirement: !ruby/object:Gem::Requirement
239
240
  requirements:
240
- - - ~>
241
+ - - ">="
241
242
  - !ruby/object:Gem::Version
242
- version: 3.1.4
243
- name: alephant-logger
244
- prerelease: false
243
+ version: '0'
245
244
  type: :runtime
245
+ prerelease: false
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
- - - ~>
248
+ - - ">="
249
249
  - !ruby/object:Gem::Version
250
- version: 3.1.4
250
+ version: '0'
251
251
  - !ruby/object:Gem::Dependency
252
+ name: alephant-sequencer
252
253
  requirement: !ruby/object:Gem::Requirement
253
254
  requirements:
254
- - - '>='
255
+ - - ">="
255
256
  - !ruby/object:Gem::Version
256
257
  version: '0'
257
- name: alephant-sequencer
258
- prerelease: false
259
258
  type: :runtime
259
+ prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
- - - '>='
262
+ - - ">="
263
263
  - !ruby/object:Gem::Version
264
264
  version: '0'
265
265
  - !ruby/object:Gem::Dependency
266
+ name: aws-sdk-sqs
266
267
  requirement: !ruby/object:Gem::Requirement
267
268
  requirements:
268
- - - '>='
269
+ - - ">="
269
270
  - !ruby/object:Gem::Version
270
271
  version: '0'
271
- name: dalli-elasticache
272
- prerelease: false
273
272
  type: :runtime
273
+ prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
- - - '>='
276
+ - - ">="
277
277
  - !ruby/object:Gem::Version
278
278
  version: '0'
279
279
  - !ruby/object:Gem::Dependency
280
+ name: aws-sdk-s3
280
281
  requirement: !ruby/object:Gem::Requirement
281
282
  requirements:
282
- - - '>='
283
+ - - ">="
283
284
  - !ruby/object:Gem::Version
284
285
  version: '0'
285
- name: faraday
286
+ type: :runtime
286
287
  prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ - !ruby/object:Gem::Dependency
294
+ name: dalli-elasticache
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
287
300
  type: :runtime
301
+ prerelease: false
288
302
  version_requirements: !ruby/object:Gem::Requirement
289
303
  requirements:
290
- - - '>='
304
+ - - ">="
291
305
  - !ruby/object:Gem::Version
292
306
  version: '0'
293
307
  - !ruby/object:Gem::Dependency
308
+ name: faraday
294
309
  requirement: !ruby/object:Gem::Requirement
295
310
  requirements:
296
- - - '>='
311
+ - - ">="
297
312
  - !ruby/object:Gem::Version
298
313
  version: '0'
299
- name: crimp
314
+ type: :runtime
300
315
  prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - ">="
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
321
+ - !ruby/object:Gem::Dependency
322
+ name: crimp
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
301
328
  type: :runtime
329
+ prerelease: false
302
330
  version_requirements: !ruby/object:Gem::Requirement
303
331
  requirements:
304
- - - '>='
332
+ - - ">="
305
333
  - !ruby/object:Gem::Version
306
334
  version: '0'
307
335
  - !ruby/object:Gem::Dependency
336
+ name: listen
308
337
  requirement: !ruby/object:Gem::Requirement
309
338
  requirements:
310
- - - ~>
339
+ - - "~>"
311
340
  - !ruby/object:Gem::Version
312
341
  version: 3.0.0
313
- name: listen
314
- prerelease: false
315
342
  type: :runtime
343
+ prerelease: false
316
344
  version_requirements: !ruby/object:Gem::Requirement
317
345
  requirements:
318
- - - ~>
346
+ - - "~>"
319
347
  - !ruby/object:Gem::Version
320
348
  version: 3.0.0
321
349
  description: Brokers requests for alephant components
@@ -325,9 +353,9 @@ executables: []
325
353
  extensions: []
326
354
  extra_rdoc_files: []
327
355
  files:
328
- - .gitignore
329
- - .ruby-version
330
- - .travis.yml
356
+ - ".gitignore"
357
+ - ".ruby-version"
358
+ - ".travis.yml"
331
359
  - Gemfile
332
360
  - Guardfile
333
361
  - LICENSE.txt
@@ -387,24 +415,24 @@ homepage: https://github.com/BBC-News/alephant-broker
387
415
  licenses:
388
416
  - MIT
389
417
  metadata: {}
390
- post_install_message:
418
+ post_install_message:
391
419
  rdoc_options: []
392
420
  require_paths:
393
421
  - lib
394
422
  required_ruby_version: !ruby/object:Gem::Requirement
395
423
  requirements:
396
- - - '>='
424
+ - - ">="
397
425
  - !ruby/object:Gem::Version
398
426
  version: '0'
399
427
  required_rubygems_version: !ruby/object:Gem::Requirement
400
428
  requirements:
401
- - - '>='
429
+ - - ">="
402
430
  - !ruby/object:Gem::Version
403
431
  version: '0'
404
432
  requirements: []
405
- rubyforge_project:
406
- rubygems_version: 2.1.9
407
- signing_key:
433
+ rubyforge_project:
434
+ rubygems_version: 2.6.12
435
+ signing_key:
408
436
  specification_version: 4
409
437
  summary: Brokers requests for alephant components
410
438
  test_files: