queuel 0.3.1 → 0.4.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.
- data/Gemfile.lock +1 -1
- data/README.md +7 -1
- data/config/s3_example.yml +9 -0
- data/lib/queuel/base/engine.rb +2 -0
- data/lib/queuel/base/queue.rb +4 -0
- data/lib/queuel/iron_mq/queue.rb +4 -0
- data/lib/queuel/sqs/engine.rb +5 -0
- data/lib/queuel/sqs/message.rb +62 -3
- data/lib/queuel/sqs/queue.rb +20 -0
- data/lib/queuel/version.rb +1 -1
- data/spec/lib/queuel/base/queue_spec.rb +1 -1
- data/spec/lib/queuel/iron_mq/queue_spec.rb +28 -0
- data/spec/lib/queuel/sqs/message_spec.rb +23 -2
- data/spec/lib/queuel/sqs/queue_spec.rb +23 -3
- data/spec/support/queue_shared_example.rb +3 -16
- metadata +52 -5
- checksums.yaml +0 -15
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
Queuel is a kewl, lite wrapper around Queue interfaces. Currently it implements:
|
8
8
|
|
9
9
|
* IronMQ
|
10
|
+
* Amazon SQS
|
10
11
|
* Null pattern
|
11
12
|
|
12
13
|
Each of these should reliably implement:
|
@@ -89,6 +90,11 @@ Queuel.receive break_if_nil: true do |message|
|
|
89
90
|
end
|
90
91
|
```
|
91
92
|
|
93
|
+
Notes specific to the SQS engine:
|
94
|
+
A config should be added to provide `bucket_name`, `max_bytesize`, `access_key`
|
95
|
+
and `secret_access_key`. Without these, messages over the max_bytesize setting
|
96
|
+
(defaults to 64kb) will be dropped from the queue.
|
97
|
+
|
92
98
|
#### Caveats of the receiver
|
93
99
|
|
94
100
|
* Your block must return true in order to not replace the message to the Queue
|
@@ -105,7 +111,7 @@ message.delete # => Delete the message
|
|
105
111
|
#### Parsing
|
106
112
|
|
107
113
|
Queuel uses [MultiJson](https://github.com/intridea/multi_json) to provide
|
108
|
-
some auto-message decoding/
|
114
|
+
some auto-message decoding/encoding features. With MultiJson you may install your own engine
|
109
115
|
(like [Oj](https://github.com/ohler55/oj)).
|
110
116
|
|
111
117
|
Because of the parsing given, you will default to encoding and decoding JSON:
|
data/lib/queuel/base/engine.rb
CHANGED
@@ -12,6 +12,7 @@ module Queuel
|
|
12
12
|
|
13
13
|
def initialize(credentials = {})
|
14
14
|
self.credentials = credentials
|
15
|
+
self.bucket_name = credentials[:bucket_name]
|
15
16
|
self.memoized_queues = {}
|
16
17
|
end
|
17
18
|
|
@@ -21,6 +22,7 @@ module Queuel
|
|
21
22
|
|
22
23
|
private
|
23
24
|
attr_accessor :credentials
|
25
|
+
attr_accessor :bucket_name
|
24
26
|
attr_accessor :memoized_queues
|
25
27
|
|
26
28
|
def client
|
data/lib/queuel/base/queue.rb
CHANGED
data/lib/queuel/iron_mq/queue.rb
CHANGED
data/lib/queuel/sqs/engine.rb
CHANGED
@@ -7,8 +7,13 @@ module Queuel
|
|
7
7
|
|
8
8
|
AWSSDKMissingError = Class.new(StandardError)
|
9
9
|
|
10
|
+
def queue(which_queue)
|
11
|
+
memoized_queues[which_queue.to_s] ||= queue_klass.new(client, which_queue, credentials)
|
12
|
+
end
|
13
|
+
|
10
14
|
private
|
11
15
|
|
16
|
+
|
12
17
|
def client_klass
|
13
18
|
if defined?(::AWS::SQS)
|
14
19
|
::AWS::SQS
|
data/lib/queuel/sqs/message.rb
CHANGED
@@ -1,10 +1,69 @@
|
|
1
1
|
module Queuel
|
2
2
|
module SQS
|
3
3
|
class Message < Base::Message
|
4
|
+
# if message_object exists (not nil), receive the data, otherwise push
|
4
5
|
def raw_body
|
5
|
-
@raw_body
|
6
|
-
|
7
|
-
|
6
|
+
@raw_body ||= message_object.nil? ? push_message : pull_message
|
7
|
+
end
|
8
|
+
|
9
|
+
def generate_key
|
10
|
+
key = [
|
11
|
+
(Time.now.to_f * 10000).to_i,
|
12
|
+
SecureRandom.urlsafe_base64,
|
13
|
+
Thread.current.object_id
|
14
|
+
].join('-')
|
15
|
+
key
|
16
|
+
end
|
17
|
+
|
18
|
+
def push_message
|
19
|
+
if encoded_body.bytesize > max_bytesize
|
20
|
+
key = generate_key
|
21
|
+
write_to_s3(encoded_body, key)
|
22
|
+
self.body = { 'queuel_s3_object' => key }
|
23
|
+
end
|
24
|
+
encoded_body
|
25
|
+
end
|
26
|
+
|
27
|
+
def pull_message
|
28
|
+
begin
|
29
|
+
decoded_body = JSON.parse(message_object.body)
|
30
|
+
if decoded_body.key?('queuel_s3_object')
|
31
|
+
read_from_s3 decoded_body[:queuel_s3_object]
|
32
|
+
else
|
33
|
+
message_object.body
|
34
|
+
end
|
35
|
+
rescue ::JSON::ParserError, TypeError
|
36
|
+
raw_body_with_sns_check
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def max_bytesize
|
41
|
+
options[:max_bytesize] || 64 * 1024
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.s3
|
45
|
+
@s3 ||= AWS::S3.new(
|
46
|
+
:access_key_id => options[:access_token],
|
47
|
+
:secret_access_key => options[:secret_access_token] )
|
48
|
+
end
|
49
|
+
|
50
|
+
def read_from_s3 key
|
51
|
+
object = s3.buckets[options[:bucket_name]].objects[key]
|
52
|
+
object.read
|
53
|
+
end
|
54
|
+
|
55
|
+
# this assumes you've set up some rules for file expiration on your
|
56
|
+
# configured bucket.
|
57
|
+
def write_to_s3(message, key)
|
58
|
+
begin
|
59
|
+
my_bucket = s3.buckets[options[:bucket_name]]
|
60
|
+
my_bucket.objects[key].write(message)
|
61
|
+
rescue
|
62
|
+
raise BucketDoesNotExistError, "Bucket has either expired or does not exist"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
class BucketDoesNotExistError < StandardError
|
8
67
|
end
|
9
68
|
|
10
69
|
def delete
|
data/lib/queuel/sqs/queue.rb
CHANGED
@@ -5,6 +5,15 @@ module Queuel
|
|
5
5
|
class Queue < Base::Queue
|
6
6
|
extend Forwardable
|
7
7
|
|
8
|
+
attr_accessor :credentials
|
9
|
+
|
10
|
+
def initialize(client, queue_name, credentials={})
|
11
|
+
self.client = client
|
12
|
+
self.name = queue_name
|
13
|
+
self.credentials = credentials
|
14
|
+
end
|
15
|
+
|
16
|
+
|
8
17
|
def push(message, options = {})
|
9
18
|
queue_connection.send_message build_push_message(message, options)
|
10
19
|
end
|
@@ -13,7 +22,18 @@ module Queuel
|
|
13
22
|
queue_connection.approximate_number_of_messages
|
14
23
|
end
|
15
24
|
|
25
|
+
def size
|
26
|
+
approximate_number_of_messages
|
27
|
+
end
|
28
|
+
|
16
29
|
private
|
30
|
+
|
31
|
+
|
32
|
+
def build_new_message(bare_message, options = {})
|
33
|
+
message_klass.new(bare_message, credentials)
|
34
|
+
end
|
35
|
+
|
36
|
+
|
17
37
|
def pop_bare_message(options = {})
|
18
38
|
queue_connection.receive_message options
|
19
39
|
end
|
data/lib/queuel/version.rb
CHANGED
@@ -2,9 +2,37 @@ require 'spec_helper'
|
|
2
2
|
module Queuel
|
3
3
|
module IronMq
|
4
4
|
describe Queue do
|
5
|
+
let(:message) { double "Message", body: "uhuh" }
|
6
|
+
let(:client) { double "ClientObject" }
|
7
|
+
let(:name) { "venues queue" }
|
5
8
|
let(:queue_object_with_message) { double "QueueObject", get: message, peek: [message] }
|
6
9
|
let(:queue_object_with_nil_message) { double "QueueObject", get: nil, peek: nil }
|
10
|
+
|
11
|
+
subject do
|
12
|
+
described_class.new client, name
|
13
|
+
end
|
14
|
+
|
7
15
|
it_should_behave_like "a queue"
|
16
|
+
|
17
|
+
describe "size" do
|
18
|
+
it "should check the queue_connection for size" do
|
19
|
+
client.stub queue: queue_object_with_message
|
20
|
+
queue_object_with_message.should_receive(:size)
|
21
|
+
subject.size
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "peek" do
|
26
|
+
before do
|
27
|
+
not_for_null do
|
28
|
+
client.stub queue: queue_object_with_message
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should take options and return an array" do
|
33
|
+
subject.peek(option: true).should be_an Array
|
34
|
+
end
|
35
|
+
end
|
8
36
|
end
|
9
37
|
end
|
10
38
|
end
|
@@ -13,12 +13,33 @@ module Queuel
|
|
13
13
|
before do
|
14
14
|
subject.stub decode_body?: false
|
15
15
|
message_object.stub(:as_sns_message).and_raise ::JSON::ParserError
|
16
|
+
Queuel.configure { engine :sqs }
|
16
17
|
end
|
17
18
|
|
18
19
|
its(:id) { should == 1 }
|
19
20
|
its(:body) { should == "body" }
|
20
21
|
its(:queue) { should == queue_double }
|
21
22
|
|
23
|
+
describe "when pulling an oversized message" do
|
24
|
+
let(:body) { '{"queuel_s3_object": "whatever" }' }
|
25
|
+
|
26
|
+
it "should call read_from_s3" do
|
27
|
+
subject.should_receive(:read_from_s3)
|
28
|
+
subject.raw_body
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe "when pushing an oversized json hash" do
|
33
|
+
before do
|
34
|
+
subject.send("message_object=", nil)
|
35
|
+
subject.stub(:encoded_body).and_return double("body", bytesize: subject.max_bytesize+1)
|
36
|
+
end
|
37
|
+
it "should call write_to_s3" do
|
38
|
+
subject.should_receive(:write_to_s3)
|
39
|
+
subject.raw_body
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
22
43
|
describe "with json" do
|
23
44
|
let(:body) { '{"username":"jon"}' }
|
24
45
|
before do
|
@@ -30,14 +51,14 @@ module Queuel
|
|
30
51
|
end
|
31
52
|
|
32
53
|
describe "with valid SNS message" do
|
33
|
-
let(:sns_body) { "Hello From SNS"}
|
54
|
+
let(:sns_body) { "Hello From SNS" }
|
34
55
|
before do
|
35
56
|
message_object.stub(:as_sns_message).and_return double("SNSMessage", body: sns_body)
|
36
57
|
end
|
37
58
|
its(:raw_body) { should == sns_body }
|
38
59
|
its(:raw_body) { should_not == message_object.body}
|
39
60
|
|
40
|
-
describe "
|
61
|
+
describe "which is json" do
|
41
62
|
let(:sns_body) { '{"username":"jon"}' }
|
42
63
|
before do
|
43
64
|
subject.stub decode_body?: true
|
@@ -1,11 +1,31 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
module Queuel
|
3
|
-
module
|
3
|
+
module SQS
|
4
4
|
describe Queue do
|
5
|
-
let(:
|
6
|
-
let(:
|
5
|
+
let(:message) { double "Message", body: "uhuh" }
|
6
|
+
let(:client) { double "ClientObject" }
|
7
|
+
let(:name) { "venues queue" }
|
8
|
+
let(:credentials) {{ access_key: "none", secret_access_key: "none" }}
|
9
|
+
let(:queue_object_with_message) { double "QueueObject", get: message, receive_message: message }
|
10
|
+
let(:queue_object_with_nil_message) { double "QueueObject", get: nil, receive_message: nil }
|
11
|
+
|
12
|
+
subject do
|
13
|
+
described_class.new client, name, credentials
|
14
|
+
end
|
15
|
+
|
16
|
+
before do
|
17
|
+
message.stub_chain :as_sns_message, body: "uhuh"
|
18
|
+
client.stub_chain :queues, named: queue_object_with_message
|
19
|
+
end
|
7
20
|
|
8
21
|
it_should_behave_like "a queue"
|
22
|
+
|
23
|
+
describe "size" do
|
24
|
+
it "should check the queue_connection's approximate_number_of_messages for size" do
|
25
|
+
queue_object_with_message.should_receive :approximate_number_of_messages
|
26
|
+
subject.size
|
27
|
+
end
|
28
|
+
end
|
9
29
|
end
|
10
30
|
end
|
11
31
|
end
|
@@ -7,29 +7,16 @@ shared_examples "a queue" do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
# Poller object handles this
|
10
|
-
it { should respond_to :receive }
|
11
10
|
it { should respond_to :push }
|
12
11
|
it { should respond_to :pop }
|
13
|
-
it { should respond_to :
|
14
|
-
|
15
|
-
describe "peek" do
|
16
|
-
before do
|
17
|
-
not_for_null do
|
18
|
-
client.stub queue: queue_object_with_message
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should take options and return an array" do
|
23
|
-
subject.peek(option: true).should be_an Array
|
24
|
-
end
|
25
|
-
end
|
12
|
+
it { should respond_to :size }
|
26
13
|
|
27
14
|
describe "pop" do
|
28
15
|
describe "with messages" do
|
29
16
|
before do
|
30
17
|
not_for_null do
|
31
18
|
client.stub queue: queue_object_with_message
|
32
|
-
client.
|
19
|
+
client.stub_chain :queues, named: queue_object_with_message
|
33
20
|
end
|
34
21
|
end
|
35
22
|
|
@@ -52,7 +39,7 @@ shared_examples "a queue" do
|
|
52
39
|
before do
|
53
40
|
not_for_null do
|
54
41
|
client.stub queue: queue_object_with_nil_message
|
55
|
-
client.
|
42
|
+
client.stub_chain :queues, named: queue_object_with_nil_message
|
56
43
|
end
|
57
44
|
end
|
58
45
|
|
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: queuel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Jon Phenow
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2014-
|
12
|
+
date: 2014-04-07 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: bundler
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :development
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,6 +30,7 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: rake
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,6 +46,7 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: rspec
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ! '>='
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -55,6 +62,7 @@ dependencies:
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: simplecov
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - ! '>='
|
60
68
|
- !ruby/object:Gem::Version
|
@@ -62,6 +70,7 @@ dependencies:
|
|
62
70
|
type: :development
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
75
|
- - ! '>='
|
67
76
|
- !ruby/object:Gem::Version
|
@@ -69,6 +78,7 @@ dependencies:
|
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: iron_mq
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
83
|
- - ! '>='
|
74
84
|
- !ruby/object:Gem::Version
|
@@ -76,6 +86,7 @@ dependencies:
|
|
76
86
|
type: :development
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
91
|
- - ! '>='
|
81
92
|
- !ruby/object:Gem::Version
|
@@ -83,6 +94,7 @@ dependencies:
|
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: typhoeus
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
99
|
- - ! '>='
|
88
100
|
- !ruby/object:Gem::Version
|
@@ -90,6 +102,7 @@ dependencies:
|
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
107
|
- - ! '>='
|
95
108
|
- !ruby/object:Gem::Version
|
@@ -97,6 +110,7 @@ dependencies:
|
|
97
110
|
- !ruby/object:Gem::Dependency
|
98
111
|
name: aws-sdk
|
99
112
|
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
100
114
|
requirements:
|
101
115
|
- - ! '>='
|
102
116
|
- !ruby/object:Gem::Version
|
@@ -104,6 +118,7 @@ dependencies:
|
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
107
122
|
requirements:
|
108
123
|
- - ! '>='
|
109
124
|
- !ruby/object:Gem::Version
|
@@ -111,6 +126,7 @@ dependencies:
|
|
111
126
|
- !ruby/object:Gem::Dependency
|
112
127
|
name: guard-bundler
|
113
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
114
130
|
requirements:
|
115
131
|
- - ! '>='
|
116
132
|
- !ruby/object:Gem::Version
|
@@ -118,6 +134,7 @@ dependencies:
|
|
118
134
|
type: :development
|
119
135
|
prerelease: false
|
120
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
121
138
|
requirements:
|
122
139
|
- - ! '>='
|
123
140
|
- !ruby/object:Gem::Version
|
@@ -125,6 +142,7 @@ dependencies:
|
|
125
142
|
- !ruby/object:Gem::Dependency
|
126
143
|
name: guard-rspec
|
127
144
|
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
128
146
|
requirements:
|
129
147
|
- - ! '>='
|
130
148
|
- !ruby/object:Gem::Version
|
@@ -132,6 +150,7 @@ dependencies:
|
|
132
150
|
type: :development
|
133
151
|
prerelease: false
|
134
152
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
135
154
|
requirements:
|
136
155
|
- - ! '>='
|
137
156
|
- !ruby/object:Gem::Version
|
@@ -139,6 +158,7 @@ dependencies:
|
|
139
158
|
- !ruby/object:Gem::Dependency
|
140
159
|
name: guard-cane
|
141
160
|
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
142
162
|
requirements:
|
143
163
|
- - ! '>='
|
144
164
|
- !ruby/object:Gem::Version
|
@@ -146,6 +166,7 @@ dependencies:
|
|
146
166
|
type: :development
|
147
167
|
prerelease: false
|
148
168
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
149
170
|
requirements:
|
150
171
|
- - ! '>='
|
151
172
|
- !ruby/object:Gem::Version
|
@@ -153,6 +174,7 @@ dependencies:
|
|
153
174
|
- !ruby/object:Gem::Dependency
|
154
175
|
name: rb-inotify
|
155
176
|
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
156
178
|
requirements:
|
157
179
|
- - ! '>='
|
158
180
|
- !ruby/object:Gem::Version
|
@@ -160,6 +182,7 @@ dependencies:
|
|
160
182
|
type: :development
|
161
183
|
prerelease: false
|
162
184
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
163
186
|
requirements:
|
164
187
|
- - ! '>='
|
165
188
|
- !ruby/object:Gem::Version
|
@@ -167,6 +190,7 @@ dependencies:
|
|
167
190
|
- !ruby/object:Gem::Dependency
|
168
191
|
name: rb-fsevent
|
169
192
|
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
170
194
|
requirements:
|
171
195
|
- - ! '>='
|
172
196
|
- !ruby/object:Gem::Version
|
@@ -174,6 +198,7 @@ dependencies:
|
|
174
198
|
type: :development
|
175
199
|
prerelease: false
|
176
200
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
177
202
|
requirements:
|
178
203
|
- - ! '>='
|
179
204
|
- !ruby/object:Gem::Version
|
@@ -181,6 +206,7 @@ dependencies:
|
|
181
206
|
- !ruby/object:Gem::Dependency
|
182
207
|
name: rb-fchange
|
183
208
|
requirement: !ruby/object:Gem::Requirement
|
209
|
+
none: false
|
184
210
|
requirements:
|
185
211
|
- - ! '>='
|
186
212
|
- !ruby/object:Gem::Version
|
@@ -188,6 +214,7 @@ dependencies:
|
|
188
214
|
type: :development
|
189
215
|
prerelease: false
|
190
216
|
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
191
218
|
requirements:
|
192
219
|
- - ! '>='
|
193
220
|
- !ruby/object:Gem::Version
|
@@ -195,6 +222,7 @@ dependencies:
|
|
195
222
|
- !ruby/object:Gem::Dependency
|
196
223
|
name: cane
|
197
224
|
requirement: !ruby/object:Gem::Requirement
|
225
|
+
none: false
|
198
226
|
requirements:
|
199
227
|
- - ! '>='
|
200
228
|
- !ruby/object:Gem::Version
|
@@ -202,6 +230,7 @@ dependencies:
|
|
202
230
|
type: :development
|
203
231
|
prerelease: false
|
204
232
|
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
none: false
|
205
234
|
requirements:
|
206
235
|
- - ! '>='
|
207
236
|
- !ruby/object:Gem::Version
|
@@ -209,6 +238,7 @@ dependencies:
|
|
209
238
|
- !ruby/object:Gem::Dependency
|
210
239
|
name: json
|
211
240
|
requirement: !ruby/object:Gem::Requirement
|
241
|
+
none: false
|
212
242
|
requirements:
|
213
243
|
- - ~>
|
214
244
|
- !ruby/object:Gem::Version
|
@@ -216,6 +246,7 @@ dependencies:
|
|
216
246
|
type: :development
|
217
247
|
prerelease: false
|
218
248
|
version_requirements: !ruby/object:Gem::Requirement
|
249
|
+
none: false
|
219
250
|
requirements:
|
220
251
|
- - ~>
|
221
252
|
- !ruby/object:Gem::Version
|
@@ -223,6 +254,7 @@ dependencies:
|
|
223
254
|
- !ruby/object:Gem::Dependency
|
224
255
|
name: coveralls
|
225
256
|
requirement: !ruby/object:Gem::Requirement
|
257
|
+
none: false
|
226
258
|
requirements:
|
227
259
|
- - ! '>='
|
228
260
|
- !ruby/object:Gem::Version
|
@@ -230,6 +262,7 @@ dependencies:
|
|
230
262
|
type: :development
|
231
263
|
prerelease: false
|
232
264
|
version_requirements: !ruby/object:Gem::Requirement
|
265
|
+
none: false
|
233
266
|
requirements:
|
234
267
|
- - ! '>='
|
235
268
|
- !ruby/object:Gem::Version
|
@@ -237,6 +270,7 @@ dependencies:
|
|
237
270
|
- !ruby/object:Gem::Dependency
|
238
271
|
name: thread
|
239
272
|
requirement: !ruby/object:Gem::Requirement
|
273
|
+
none: false
|
240
274
|
requirements:
|
241
275
|
- - ! '>='
|
242
276
|
- !ruby/object:Gem::Version
|
@@ -244,6 +278,7 @@ dependencies:
|
|
244
278
|
type: :runtime
|
245
279
|
prerelease: false
|
246
280
|
version_requirements: !ruby/object:Gem::Requirement
|
281
|
+
none: false
|
247
282
|
requirements:
|
248
283
|
- - ! '>='
|
249
284
|
- !ruby/object:Gem::Version
|
@@ -251,6 +286,7 @@ dependencies:
|
|
251
286
|
- !ruby/object:Gem::Dependency
|
252
287
|
name: mono_logger
|
253
288
|
requirement: !ruby/object:Gem::Requirement
|
289
|
+
none: false
|
254
290
|
requirements:
|
255
291
|
- - ! '>='
|
256
292
|
- !ruby/object:Gem::Version
|
@@ -258,6 +294,7 @@ dependencies:
|
|
258
294
|
type: :runtime
|
259
295
|
prerelease: false
|
260
296
|
version_requirements: !ruby/object:Gem::Requirement
|
297
|
+
none: false
|
261
298
|
requirements:
|
262
299
|
- - ! '>='
|
263
300
|
- !ruby/object:Gem::Version
|
@@ -265,6 +302,7 @@ dependencies:
|
|
265
302
|
- !ruby/object:Gem::Dependency
|
266
303
|
name: multi_json
|
267
304
|
requirement: !ruby/object:Gem::Requirement
|
305
|
+
none: false
|
268
306
|
requirements:
|
269
307
|
- - ! '>='
|
270
308
|
- !ruby/object:Gem::Version
|
@@ -272,6 +310,7 @@ dependencies:
|
|
272
310
|
type: :runtime
|
273
311
|
prerelease: false
|
274
312
|
version_requirements: !ruby/object:Gem::Requirement
|
313
|
+
none: false
|
275
314
|
requirements:
|
276
315
|
- - ! '>='
|
277
316
|
- !ruby/object:Gem::Version
|
@@ -297,6 +336,7 @@ files:
|
|
297
336
|
- LICENSE.txt
|
298
337
|
- README.md
|
299
338
|
- Rakefile
|
339
|
+
- config/s3_example.yml
|
300
340
|
- lib/queuel.rb
|
301
341
|
- lib/queuel/base/engine.rb
|
302
342
|
- lib/queuel/base/message.rb
|
@@ -351,26 +391,33 @@ files:
|
|
351
391
|
homepage: ''
|
352
392
|
licenses:
|
353
393
|
- MIT
|
354
|
-
metadata: {}
|
355
394
|
post_install_message:
|
356
395
|
rdoc_options: []
|
357
396
|
require_paths:
|
358
397
|
- lib
|
359
398
|
required_ruby_version: !ruby/object:Gem::Requirement
|
399
|
+
none: false
|
360
400
|
requirements:
|
361
401
|
- - ! '>='
|
362
402
|
- !ruby/object:Gem::Version
|
363
403
|
version: '0'
|
404
|
+
segments:
|
405
|
+
- 0
|
406
|
+
hash: 2472164195127432886
|
364
407
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
408
|
+
none: false
|
365
409
|
requirements:
|
366
410
|
- - ! '>='
|
367
411
|
- !ruby/object:Gem::Version
|
368
412
|
version: '0'
|
413
|
+
segments:
|
414
|
+
- 0
|
415
|
+
hash: 2472164195127432886
|
369
416
|
requirements: []
|
370
417
|
rubyforge_project:
|
371
|
-
rubygems_version:
|
418
|
+
rubygems_version: 1.8.23.2
|
372
419
|
signing_key:
|
373
|
-
specification_version:
|
420
|
+
specification_version: 3
|
374
421
|
summary: Light Queue wrapper tool
|
375
422
|
test_files:
|
376
423
|
- spec/lib/queuel/base/queue_spec.rb
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
MTYyYjg5NTFlNjA2ZjNkYjFlMWExNmM1MWE5OTAzYzRjZjFlZDU0ZQ==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MGNhN2Q4YzQ2ZGUzZjg4MGFjMDdhYTVlZDlkZjYwYzgwNjE1ZDI0MQ==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
MTFiMzQ3NjYzZDU3OGQxMTI0MzU5MWY2YTM5ODRmNzQ1MDE0ZDM0N2U0Njk1
|
10
|
-
MWNjY2Q2Mjg0NmIyYTc2MWVjOTkxNzJlZjZlYWMyMGRmOGYyNjMxZmExN2U3
|
11
|
-
NzAyYTNlZWY3NjFkYjVkOGU4Yzc3OWE1YmJiYjhmMmI5OGRlNjk=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ODM1OTBlYzhkMjNmMjE2MGZlYzE5MmU1ZWQxNDRjM2FlMmY1MzJkYTUwYmEz
|
14
|
-
ZTVlMWE4MTdmYzdhZGYyMzI2Y2EzNzcwZjcyNjU0NzEyOGI4NGNlMjIyMzNl
|
15
|
-
YWIyYmVjMGY3NDRiYjdkZmY4NDEwNmU2YTJiNDllMmQyMDllOWU=
|