alephant-publisher 0.6.7 → 0.6.8
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 +4 -4
- data/lib/alephant/publisher.rb +10 -1
- data/lib/alephant/publisher/options.rb +2 -1
- data/lib/alephant/publisher/version.rb +1 -1
- data/spec/publisher_spec.rb +29 -8
- data/spec/spec_helper.rb +3 -0
- metadata +88 -88
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ffcbfe5a8bd5ca7202f003aa20ebc3e498c1fd3
|
4
|
+
data.tar.gz: c84321d14526f58e2170c716dd9ecb26c6435299
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 72b807511b2523936302aab655003f5d452be68ba0f834b0bd74ef3cfef6486a819115744c66a876e9436523903c95e4296642afc25085647a8a30c1f573398d
|
7
|
+
data.tar.gz: 6896d2f96e6e2e79e5a1da7086ecf4ee9719e0daa533784f7efbd1f91ca38a42abd0bdc3c76ade488dfd41f0d2c8f1cc9cb2d7bb5f22bfe8ee22fc2ff46ebf65
|
data/lib/alephant/publisher.rb
CHANGED
@@ -56,8 +56,17 @@ module Alephant
|
|
56
56
|
)
|
57
57
|
end
|
58
58
|
|
59
|
+
def sqs_client
|
60
|
+
@sqs_client ||= AWS::SQS.new
|
61
|
+
end
|
62
|
+
|
63
|
+
def sqs_queue_options
|
64
|
+
opts.queue[:aws_account_id].nil? ? {} : { :queue_owner_aws_account_id => opts.queue[:aws_account_id] }
|
65
|
+
end
|
66
|
+
|
59
67
|
def aws_queue
|
60
|
-
|
68
|
+
queue_url = sqs_client.queues.url_for(opts.queue[:sqs_queue_name], sqs_queue_options)
|
69
|
+
sqs_client.queues[queue_url]
|
61
70
|
end
|
62
71
|
|
63
72
|
end
|
data/spec/publisher_spec.rb
CHANGED
@@ -1,20 +1,41 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Alephant::Publisher do
|
4
|
-
let(:options)
|
5
|
-
let(:
|
4
|
+
let(:options) { Alephant::Publisher::Options.new }
|
5
|
+
let(:queue) { double('AWS::SQS::Queue', :url => nil ) }
|
6
|
+
let(:queue_double) { double('AWS::SQS::QueueCollection', :[] => queue, :url_for => nil) }
|
7
|
+
let(:client_double) { double('AWS::SQS', :queues => queue_double) }
|
6
8
|
|
7
9
|
before(:each) do
|
8
|
-
|
10
|
+
expect(AWS::SQS).to receive(:new).and_return(client_double)
|
9
11
|
end
|
10
12
|
|
11
|
-
describe "
|
13
|
+
describe ".create" do
|
12
14
|
it "sets parser, sequencer, queue and writer" do
|
13
|
-
|
14
|
-
sqs_double = double('AWS::SQS', :queues => queue_double)
|
15
|
-
|
16
|
-
expect(AWS::SQS).to receive(:new).and_return(sqs_double)
|
15
|
+
instance = Alephant::Publisher.create(options)
|
17
16
|
expect(instance.queue).to be_a Alephant::Publisher::SQSHelper::Queue
|
18
17
|
end
|
18
|
+
|
19
|
+
context "with account" do
|
20
|
+
it "creates a queue with an account number in the option hash" do
|
21
|
+
options = Alephant::Publisher::Options.new
|
22
|
+
options.add_queue({ :sqs_queue_name => 'bar', :aws_account_id => 'foo' })
|
23
|
+
|
24
|
+
expect(queue_double).to receive(:url_for).with('bar', { :queue_owner_aws_account_id => 'foo' })
|
25
|
+
|
26
|
+
Alephant::Publisher.create(options)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context "without account" do
|
31
|
+
it "creates a queue with an empty option hash" do
|
32
|
+
options = Alephant::Publisher::Options.new
|
33
|
+
options.add_queue({ :sqs_queue_name => 'bar' })
|
34
|
+
|
35
|
+
expect(queue_double).to receive(:url_for).with('bar', {})
|
36
|
+
|
37
|
+
Alephant::Publisher.create(options)
|
38
|
+
end
|
39
|
+
end
|
19
40
|
end
|
20
41
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,351 +1,351 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alephant-publisher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Integralist
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
|
-
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.5'
|
20
|
-
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
21
23
|
requirements:
|
22
24
|
- - ~>
|
23
25
|
- !ruby/object:Gem::Version
|
24
26
|
version: '1.5'
|
25
|
-
prerelease: false
|
26
|
-
type: :development
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - '>='
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
29
|
requirement: !ruby/object:Gem::Requirement
|
35
30
|
requirements:
|
36
31
|
- - '>='
|
37
32
|
- !ruby/object:Gem::Version
|
38
33
|
version: '0'
|
39
|
-
prerelease: false
|
40
34
|
type: :development
|
41
|
-
|
42
|
-
name: rspec-nc
|
35
|
+
prerelease: false
|
43
36
|
version_requirements: !ruby/object:Gem::Requirement
|
44
37
|
requirements:
|
45
38
|
- - '>='
|
46
39
|
- !ruby/object:Gem::Version
|
47
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec-nc
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
44
|
requirements:
|
50
45
|
- - '>='
|
51
46
|
- !ruby/object:Gem::Version
|
52
47
|
version: '0'
|
53
|
-
prerelease: false
|
54
48
|
type: :development
|
55
|
-
|
56
|
-
name: guard
|
49
|
+
prerelease: false
|
57
50
|
version_requirements: !ruby/object:Gem::Requirement
|
58
51
|
requirements:
|
59
52
|
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: guard
|
62
57
|
requirement: !ruby/object:Gem::Requirement
|
63
58
|
requirements:
|
64
59
|
- - '>='
|
65
60
|
- !ruby/object:Gem::Version
|
66
61
|
version: '0'
|
67
|
-
prerelease: false
|
68
62
|
type: :development
|
69
|
-
|
70
|
-
name: guard-rspec
|
63
|
+
prerelease: false
|
71
64
|
version_requirements: !ruby/object:Gem::Requirement
|
72
65
|
requirements:
|
73
66
|
- - '>='
|
74
67
|
- !ruby/object:Gem::Version
|
75
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: guard-rspec
|
76
71
|
requirement: !ruby/object:Gem::Requirement
|
77
72
|
requirements:
|
78
73
|
- - '>='
|
79
74
|
- !ruby/object:Gem::Version
|
80
75
|
version: '0'
|
81
|
-
prerelease: false
|
82
76
|
type: :development
|
83
|
-
|
84
|
-
name: pry
|
77
|
+
prerelease: false
|
85
78
|
version_requirements: !ruby/object:Gem::Requirement
|
86
79
|
requirements:
|
87
80
|
- - '>='
|
88
81
|
- !ruby/object:Gem::Version
|
89
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry
|
90
85
|
requirement: !ruby/object:Gem::Requirement
|
91
86
|
requirements:
|
92
87
|
- - '>='
|
93
88
|
- !ruby/object:Gem::Version
|
94
89
|
version: '0'
|
95
|
-
prerelease: false
|
96
90
|
type: :development
|
97
|
-
|
98
|
-
name: pry-remote
|
91
|
+
prerelease: false
|
99
92
|
version_requirements: !ruby/object:Gem::Requirement
|
100
93
|
requirements:
|
101
94
|
- - '>='
|
102
95
|
- !ruby/object:Gem::Version
|
103
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry-remote
|
104
99
|
requirement: !ruby/object:Gem::Requirement
|
105
100
|
requirements:
|
106
101
|
- - '>='
|
107
102
|
- !ruby/object:Gem::Version
|
108
103
|
version: '0'
|
109
|
-
prerelease: false
|
110
104
|
type: :development
|
111
|
-
|
112
|
-
name: pry-nav
|
105
|
+
prerelease: false
|
113
106
|
version_requirements: !ruby/object:Gem::Requirement
|
114
107
|
requirements:
|
115
108
|
- - '>='
|
116
109
|
- !ruby/object:Gem::Version
|
117
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: pry-nav
|
118
113
|
requirement: !ruby/object:Gem::Requirement
|
119
114
|
requirements:
|
120
115
|
- - '>='
|
121
116
|
- !ruby/object:Gem::Version
|
122
117
|
version: '0'
|
123
|
-
prerelease: false
|
124
118
|
type: :development
|
125
|
-
|
126
|
-
name: sinatra
|
119
|
+
prerelease: false
|
127
120
|
version_requirements: !ruby/object:Gem::Requirement
|
128
121
|
requirements:
|
129
122
|
- - '>='
|
130
123
|
- !ruby/object:Gem::Version
|
131
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: sinatra
|
132
127
|
requirement: !ruby/object:Gem::Requirement
|
133
128
|
requirements:
|
134
129
|
- - '>='
|
135
130
|
- !ruby/object:Gem::Version
|
136
131
|
version: '0'
|
137
|
-
prerelease: false
|
138
132
|
type: :runtime
|
139
|
-
|
140
|
-
name: faraday
|
133
|
+
prerelease: false
|
141
134
|
version_requirements: !ruby/object:Gem::Requirement
|
142
135
|
requirements:
|
143
136
|
- - '>='
|
144
137
|
- !ruby/object:Gem::Version
|
145
138
|
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: faraday
|
146
141
|
requirement: !ruby/object:Gem::Requirement
|
147
142
|
requirements:
|
148
143
|
- - '>='
|
149
144
|
- !ruby/object:Gem::Version
|
150
145
|
version: '0'
|
151
|
-
prerelease: false
|
152
146
|
type: :runtime
|
153
|
-
|
154
|
-
name: trollop
|
147
|
+
prerelease: false
|
155
148
|
version_requirements: !ruby/object:Gem::Requirement
|
156
149
|
requirements:
|
157
150
|
- - '>='
|
158
151
|
- !ruby/object:Gem::Version
|
159
152
|
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: trollop
|
160
155
|
requirement: !ruby/object:Gem::Requirement
|
161
156
|
requirements:
|
162
157
|
- - '>='
|
163
158
|
- !ruby/object:Gem::Version
|
164
159
|
version: '0'
|
165
|
-
prerelease: false
|
166
160
|
type: :runtime
|
167
|
-
|
168
|
-
name: rake
|
161
|
+
prerelease: false
|
169
162
|
version_requirements: !ruby/object:Gem::Requirement
|
170
163
|
requirements:
|
171
164
|
- - '>='
|
172
165
|
- !ruby/object:Gem::Version
|
173
166
|
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: rake
|
174
169
|
requirement: !ruby/object:Gem::Requirement
|
175
170
|
requirements:
|
176
171
|
- - '>='
|
177
172
|
- !ruby/object:Gem::Version
|
178
173
|
version: '0'
|
179
|
-
prerelease: false
|
180
174
|
type: :runtime
|
181
|
-
|
182
|
-
name: aws-sdk
|
175
|
+
prerelease: false
|
183
176
|
version_requirements: !ruby/object:Gem::Requirement
|
184
177
|
requirements:
|
185
|
-
- -
|
178
|
+
- - '>='
|
186
179
|
- !ruby/object:Gem::Version
|
187
|
-
version: '
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: aws-sdk
|
188
183
|
requirement: !ruby/object:Gem::Requirement
|
189
184
|
requirements:
|
190
185
|
- - ~>
|
191
186
|
- !ruby/object:Gem::Version
|
192
187
|
version: '1.0'
|
193
|
-
prerelease: false
|
194
188
|
type: :runtime
|
195
|
-
|
196
|
-
name: mustache
|
189
|
+
prerelease: false
|
197
190
|
version_requirements: !ruby/object:Gem::Requirement
|
198
191
|
requirements:
|
199
|
-
- -
|
192
|
+
- - ~>
|
200
193
|
- !ruby/object:Gem::Version
|
201
|
-
version: 0
|
194
|
+
version: '1.0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: mustache
|
202
197
|
requirement: !ruby/object:Gem::Requirement
|
203
198
|
requirements:
|
204
199
|
- - '>='
|
205
200
|
- !ruby/object:Gem::Version
|
206
201
|
version: 0.99.5
|
207
|
-
prerelease: false
|
208
202
|
type: :runtime
|
209
|
-
|
210
|
-
name: jsonpath
|
203
|
+
prerelease: false
|
211
204
|
version_requirements: !ruby/object:Gem::Requirement
|
212
205
|
requirements:
|
213
206
|
- - '>='
|
214
207
|
- !ruby/object:Gem::Version
|
215
|
-
version:
|
208
|
+
version: 0.99.5
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: jsonpath
|
216
211
|
requirement: !ruby/object:Gem::Requirement
|
217
212
|
requirements:
|
218
213
|
- - '>='
|
219
214
|
- !ruby/object:Gem::Version
|
220
215
|
version: '0'
|
221
|
-
prerelease: false
|
222
216
|
type: :runtime
|
223
|
-
|
224
|
-
name: crimp
|
217
|
+
prerelease: false
|
225
218
|
version_requirements: !ruby/object:Gem::Requirement
|
226
219
|
requirements:
|
227
220
|
- - '>='
|
228
221
|
- !ruby/object:Gem::Version
|
229
222
|
version: '0'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: crimp
|
230
225
|
requirement: !ruby/object:Gem::Requirement
|
231
226
|
requirements:
|
232
227
|
- - '>='
|
233
228
|
- !ruby/object:Gem::Version
|
234
229
|
version: '0'
|
235
|
-
prerelease: false
|
236
230
|
type: :runtime
|
237
|
-
|
238
|
-
name: peach
|
231
|
+
prerelease: false
|
239
232
|
version_requirements: !ruby/object:Gem::Requirement
|
240
233
|
requirements:
|
241
234
|
- - '>='
|
242
235
|
- !ruby/object:Gem::Version
|
243
236
|
version: '0'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: peach
|
244
239
|
requirement: !ruby/object:Gem::Requirement
|
245
240
|
requirements:
|
246
241
|
- - '>='
|
247
242
|
- !ruby/object:Gem::Version
|
248
243
|
version: '0'
|
249
|
-
prerelease: false
|
250
244
|
type: :runtime
|
251
|
-
|
252
|
-
name: i18n
|
245
|
+
prerelease: false
|
253
246
|
version_requirements: !ruby/object:Gem::Requirement
|
254
247
|
requirements:
|
255
248
|
- - '>='
|
256
249
|
- !ruby/object:Gem::Version
|
257
250
|
version: '0'
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: i18n
|
258
253
|
requirement: !ruby/object:Gem::Requirement
|
259
254
|
requirements:
|
260
255
|
- - '>='
|
261
256
|
- !ruby/object:Gem::Version
|
262
257
|
version: '0'
|
263
|
-
prerelease: false
|
264
258
|
type: :runtime
|
265
|
-
|
266
|
-
name: hashie
|
259
|
+
prerelease: false
|
267
260
|
version_requirements: !ruby/object:Gem::Requirement
|
268
261
|
requirements:
|
269
262
|
- - '>='
|
270
263
|
- !ruby/object:Gem::Version
|
271
264
|
version: '0'
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: hashie
|
272
267
|
requirement: !ruby/object:Gem::Requirement
|
273
268
|
requirements:
|
274
269
|
- - '>='
|
275
270
|
- !ruby/object:Gem::Version
|
276
271
|
version: '0'
|
277
|
-
prerelease: false
|
278
272
|
type: :runtime
|
279
|
-
|
280
|
-
name: alephant-support
|
273
|
+
prerelease: false
|
281
274
|
version_requirements: !ruby/object:Gem::Requirement
|
282
275
|
requirements:
|
283
276
|
- - '>='
|
284
277
|
- !ruby/object:Gem::Version
|
285
278
|
version: '0'
|
279
|
+
- !ruby/object:Gem::Dependency
|
280
|
+
name: alephant-support
|
286
281
|
requirement: !ruby/object:Gem::Requirement
|
287
282
|
requirements:
|
288
283
|
- - '>='
|
289
284
|
- !ruby/object:Gem::Version
|
290
285
|
version: '0'
|
291
|
-
prerelease: false
|
292
286
|
type: :runtime
|
293
|
-
|
294
|
-
name: alephant-sequencer
|
287
|
+
prerelease: false
|
295
288
|
version_requirements: !ruby/object:Gem::Requirement
|
296
289
|
requirements:
|
297
290
|
- - '>='
|
298
291
|
- !ruby/object:Gem::Version
|
299
292
|
version: '0'
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: alephant-sequencer
|
300
295
|
requirement: !ruby/object:Gem::Requirement
|
301
296
|
requirements:
|
302
297
|
- - '>='
|
303
298
|
- !ruby/object:Gem::Version
|
304
299
|
version: '0'
|
305
|
-
prerelease: false
|
306
300
|
type: :runtime
|
307
|
-
|
308
|
-
name: alephant-cache
|
301
|
+
prerelease: false
|
309
302
|
version_requirements: !ruby/object:Gem::Requirement
|
310
303
|
requirements:
|
311
304
|
- - '>='
|
312
305
|
- !ruby/object:Gem::Version
|
313
306
|
version: '0'
|
307
|
+
- !ruby/object:Gem::Dependency
|
308
|
+
name: alephant-cache
|
314
309
|
requirement: !ruby/object:Gem::Requirement
|
315
310
|
requirements:
|
316
311
|
- - '>='
|
317
312
|
- !ruby/object:Gem::Version
|
318
313
|
version: '0'
|
319
|
-
prerelease: false
|
320
314
|
type: :runtime
|
321
|
-
|
322
|
-
name: alephant-logger
|
315
|
+
prerelease: false
|
323
316
|
version_requirements: !ruby/object:Gem::Requirement
|
324
317
|
requirements:
|
325
318
|
- - '>='
|
326
319
|
- !ruby/object:Gem::Version
|
327
320
|
version: '0'
|
321
|
+
- !ruby/object:Gem::Dependency
|
322
|
+
name: alephant-logger
|
328
323
|
requirement: !ruby/object:Gem::Requirement
|
329
324
|
requirements:
|
330
325
|
- - '>='
|
331
326
|
- !ruby/object:Gem::Version
|
332
327
|
version: '0'
|
333
|
-
prerelease: false
|
334
328
|
type: :runtime
|
335
|
-
|
336
|
-
name: alephant-lookup
|
329
|
+
prerelease: false
|
337
330
|
version_requirements: !ruby/object:Gem::Requirement
|
338
331
|
requirements:
|
339
332
|
- - '>='
|
340
333
|
- !ruby/object:Gem::Version
|
341
334
|
version: '0'
|
335
|
+
- !ruby/object:Gem::Dependency
|
336
|
+
name: alephant-lookup
|
342
337
|
requirement: !ruby/object:Gem::Requirement
|
343
338
|
requirements:
|
344
339
|
- - '>='
|
345
340
|
- !ruby/object:Gem::Version
|
346
341
|
version: '0'
|
347
|
-
prerelease: false
|
348
342
|
type: :runtime
|
343
|
+
prerelease: false
|
344
|
+
version_requirements: !ruby/object:Gem::Requirement
|
345
|
+
requirements:
|
346
|
+
- - '>='
|
347
|
+
- !ruby/object:Gem::Version
|
348
|
+
version: '0'
|
349
349
|
description: Static publishing to S3 based on SQS messages
|
350
350
|
email:
|
351
351
|
- mark.mcdx@gmail.com
|
@@ -392,7 +392,7 @@ homepage: https://github.com/BBC-News/alephant-publisher
|
|
392
392
|
licenses:
|
393
393
|
- MIT
|
394
394
|
metadata: {}
|
395
|
-
post_install_message:
|
395
|
+
post_install_message:
|
396
396
|
rdoc_options: []
|
397
397
|
require_paths:
|
398
398
|
- lib
|
@@ -407,9 +407,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
407
407
|
- !ruby/object:Gem::Version
|
408
408
|
version: '0'
|
409
409
|
requirements: []
|
410
|
-
rubyforge_project:
|
411
|
-
rubygems_version: 2.
|
412
|
-
signing_key:
|
410
|
+
rubyforge_project:
|
411
|
+
rubygems_version: 2.2.2
|
412
|
+
signing_key:
|
413
413
|
specification_version: 4
|
414
414
|
summary: Static publishing to S3 based on SQS messages
|
415
415
|
test_files:
|