fastly_nsq 0.3.0 → 0.3.1
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/.overcommit.yml +34 -0
- data/.rubocop.yml +72 -0
- data/Rakefile +6 -4
- data/examples/Rakefile +1 -1
- data/fastly_nsq.gemspec +7 -5
- data/lib/fastly_nsq/fake_message_queue.rb +1 -1
- data/lib/fastly_nsq/message_queue.rb +2 -2
- data/lib/fastly_nsq/message_queue/consumer.rb +1 -1
- data/lib/fastly_nsq/message_queue/producer.rb +1 -1
- data/lib/fastly_nsq/rake_task.rb +7 -4
- data/lib/fastly_nsq/version.rb +1 -1
- data/spec/lib/fastly_nsq/fake_message_queue_spec.rb +3 -3
- data/spec/lib/fastly_nsq/message_queue/consumer_spec.rb +3 -3
- data/spec/lib/fastly_nsq/message_queue/listener_spec.rb +4 -4
- data/spec/lib/fastly_nsq/message_queue/producer_spec.rb +3 -3
- data/spec/lib/fastly_nsq/message_queue/strategy_spec.rb +1 -1
- data/spec/lib/fastly_nsq/rake_task_spec.rb +6 -5
- metadata +42 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 950954fc2bf0edcea6b24e7c364003e49c9e63e4
|
4
|
+
data.tar.gz: c38bb4c70dc6f506f6c9a34f69bde87f52c5ca81
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da7ead45aae0e4f3d60ce118f72caff6f5c3aa51906a22de672a76e232a18803d9ee1a63c9f2e362710239a611ba302ad63bf398414136921b7f6441e4031e50
|
7
|
+
data.tar.gz: 2fef46fb498b71900ad877ccfcd614f9e1b8dafc2efd48e8cbfef0cd4e438ae831299142c26036f6336f8ecaf4c77feeffe62663a526036bdac4a25fb499c583
|
data/.overcommit.yml
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
PreCommit:
|
2
|
+
ALL:
|
3
|
+
quiet: true
|
4
|
+
verify_signatures: false
|
5
|
+
|
6
|
+
MergeConflicts:
|
7
|
+
description: 'Checking for unaddressed merge conflicts'
|
8
|
+
enabled: true
|
9
|
+
quiet: true
|
10
|
+
required_executable: 'grep'
|
11
|
+
flags: ['-IHn', "^<<<<<<<[ \t]"]
|
12
|
+
|
13
|
+
RuboCop:
|
14
|
+
description: 'Checking Ruby style'
|
15
|
+
enabled: true
|
16
|
+
problem_on_unmodified_line: ignore
|
17
|
+
quiet: true
|
18
|
+
on_warn: fail
|
19
|
+
|
20
|
+
CommitMsg:
|
21
|
+
ALL:
|
22
|
+
quiet: true
|
23
|
+
CapitalizedSubject:
|
24
|
+
description: 'Ensuring commit message subjects are capitalized'
|
25
|
+
enabled: false
|
26
|
+
EmptyMessage:
|
27
|
+
description: 'Prevent empty commit messages'
|
28
|
+
enabled: true
|
29
|
+
TextWidth:
|
30
|
+
description: 'Ensure commit message subjects are <60 chars'
|
31
|
+
enabled: true
|
32
|
+
description: 'Checking text width'
|
33
|
+
max_subject_width: 60
|
34
|
+
max_body_width: 1000
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
AllCops:
|
2
|
+
Include:
|
3
|
+
- '**/Rakefile'
|
4
|
+
Exclude:
|
5
|
+
- 'db/schema.rb'
|
6
|
+
- 'vendor/**/*'
|
7
|
+
TargetRubyVersion: 2.1
|
8
|
+
|
9
|
+
LineLength:
|
10
|
+
Enabled: false
|
11
|
+
|
12
|
+
HashSyntax:
|
13
|
+
Enabled: false
|
14
|
+
|
15
|
+
BracesAroundHashParameters:
|
16
|
+
Enabled: false
|
17
|
+
|
18
|
+
CollectionMethods:
|
19
|
+
Enabled: false
|
20
|
+
|
21
|
+
CyclomaticComplexity:
|
22
|
+
Enabled: true
|
23
|
+
|
24
|
+
Style/DotPosition:
|
25
|
+
Enabled: true
|
26
|
+
EnforcedStyle: trailing
|
27
|
+
SupportedStyles:
|
28
|
+
- leading
|
29
|
+
- trailing
|
30
|
+
|
31
|
+
MethodLength:
|
32
|
+
Enabled: false
|
33
|
+
|
34
|
+
PerlBackrefs:
|
35
|
+
Enabled: false
|
36
|
+
|
37
|
+
RescueModifier:
|
38
|
+
Enabled: false
|
39
|
+
|
40
|
+
GuardClause:
|
41
|
+
Enabled: false
|
42
|
+
|
43
|
+
IfUnlessModifier:
|
44
|
+
Enabled: false
|
45
|
+
|
46
|
+
ClassLength:
|
47
|
+
Enabled: false
|
48
|
+
|
49
|
+
Style/ClassVars:
|
50
|
+
Description: 'Avoid the use of class variables.'
|
51
|
+
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
|
52
|
+
Enabled: false
|
53
|
+
|
54
|
+
Documentation:
|
55
|
+
Enabled: false
|
56
|
+
|
57
|
+
RegexpLiteral:
|
58
|
+
Enabled: false
|
59
|
+
|
60
|
+
SignalException:
|
61
|
+
EnforcedStyle: only_raise
|
62
|
+
|
63
|
+
Style/ClassAndModuleChildren:
|
64
|
+
Enabled: false
|
65
|
+
|
66
|
+
Style/TrailingCommaInLiteral:
|
67
|
+
EnforcedStyleForMultiline: comma
|
68
|
+
Enabled: true
|
69
|
+
|
70
|
+
Style/TrailingCommaInArguments:
|
71
|
+
EnforcedStyleForMultiline: comma
|
72
|
+
Enabled: true
|
data/Rakefile
CHANGED
@@ -17,8 +17,10 @@ require 'rdoc/task'
|
|
17
17
|
RDoc::Task.new
|
18
18
|
task doc: :rdoc
|
19
19
|
|
20
|
-
require '
|
20
|
+
require 'rspec/core/rake_task'
|
21
|
+
RSpec::Core::RakeTask.new(:spec)
|
21
22
|
|
23
|
+
require 'bundler/audit/cli'
|
22
24
|
namespace :bundler do
|
23
25
|
desc 'Updates the ruby-advisory-db and runs audit'
|
24
26
|
task :audit do
|
@@ -28,8 +30,8 @@ namespace :bundler do
|
|
28
30
|
end
|
29
31
|
end
|
30
32
|
|
31
|
-
require '
|
32
|
-
|
33
|
+
require 'rubocop/rake_task'
|
34
|
+
RuboCop::RakeTask.new
|
33
35
|
|
34
36
|
task(:default).clear
|
35
|
-
task default: ['spec', 'bundler:audit']
|
37
|
+
task default: ['spec', 'rubocop', 'bundler:audit']
|
data/examples/Rakefile
CHANGED
data/fastly_nsq.gemspec
CHANGED
@@ -21,12 +21,14 @@ Gem::Specification.new do |gem|
|
|
21
21
|
gem.require_paths = ['lib']
|
22
22
|
|
23
23
|
gem.add_development_dependency 'awesome_print', '~> 1.6'
|
24
|
-
gem.add_development_dependency 'bundler', '~> 1.
|
25
|
-
gem.add_development_dependency 'bundler-audit', '~> 0.
|
24
|
+
gem.add_development_dependency 'bundler', '~> 1.11.2'
|
25
|
+
gem.add_development_dependency 'bundler-audit', '~> 0.5.0'
|
26
|
+
gem.add_development_dependency 'overcommit', '~> 0.32.0'
|
26
27
|
gem.add_development_dependency 'pry-byebug', '~> 3.3'
|
27
|
-
gem.add_development_dependency 'rake', '~>
|
28
|
-
gem.add_development_dependency 'rdoc', '~> 4.2'
|
29
|
-
gem.add_development_dependency 'rspec', '~> 3.4'
|
28
|
+
gem.add_development_dependency 'rake', '~> 11.1.2'
|
29
|
+
gem.add_development_dependency 'rdoc', '~> 4.2.2'
|
30
|
+
gem.add_development_dependency 'rspec', '~> 3.4.0'
|
31
|
+
gem.add_development_dependency 'rubocop', '~> 0.39.0'
|
30
32
|
gem.add_development_dependency 'rubygems-tasks', '~> 0.2'
|
31
33
|
|
32
34
|
gem.add_dependency 'nsq-ruby', '~> 1.5.0', '>= 1.5.0'
|
@@ -6,8 +6,8 @@ require_relative 'message_queue/consumer'
|
|
6
6
|
require_relative 'message_queue/strategy'
|
7
7
|
|
8
8
|
module MessageQueue
|
9
|
-
FALSY_VALUES = [false, 0, '0', 'false', 'FALSE', 'off', 'OFF', nil]
|
10
|
-
TRUTHY_VALUES = [true, 1, '1', 'true', 'TRUE', 'on', 'ON']
|
9
|
+
FALSY_VALUES = [false, 0, '0', 'false', 'FALSE', 'off', 'OFF', nil].freeze
|
10
|
+
TRUTHY_VALUES = [true, 1, '1', 'true', 'TRUE', 'on', 'ON'].freeze
|
11
11
|
|
12
12
|
def self.logger=(logger)
|
13
13
|
strategy.logger = logger
|
data/lib/fastly_nsq/rake_task.rb
CHANGED
@@ -7,10 +7,7 @@ module MessageQueue
|
|
7
7
|
|
8
8
|
def initialize(*args, &task_block)
|
9
9
|
@name = args.shift || :begin_listening
|
10
|
-
|
11
|
-
unless ::Rake.application.last_comment
|
12
|
-
desc 'Listen to NSQ on topic using channel'
|
13
|
-
end
|
10
|
+
add_rake_task_description_if_one_needed
|
14
11
|
|
15
12
|
task(name, *args) do |_, task_args|
|
16
13
|
RakeFileUtils.send(:verbose, verbose) do
|
@@ -30,6 +27,12 @@ module MessageQueue
|
|
30
27
|
|
31
28
|
private
|
32
29
|
|
30
|
+
def add_rake_task_description_if_one_needed
|
31
|
+
unless ::Rake.application.last_description
|
32
|
+
desc 'Listen to NSQ on topic using channel'
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
33
36
|
def run_tasks
|
34
37
|
topics.each do |topic|
|
35
38
|
Thread.new do
|
data/lib/fastly_nsq/version.rb
CHANGED
@@ -141,11 +141,11 @@ RSpec.describe FakeMessageQueue::Consumer do
|
|
141
141
|
channel: channel,
|
142
142
|
)
|
143
143
|
|
144
|
-
expect
|
145
|
-
Timeout
|
144
|
+
expect do
|
145
|
+
Timeout.timeout(delay) do
|
146
146
|
consumer.pop
|
147
147
|
end
|
148
|
-
|
148
|
+
end.to raise_error(Timeout::Error)
|
149
149
|
end
|
150
150
|
end
|
151
151
|
end
|
@@ -15,7 +15,7 @@ RSpec.describe MessageQueue::Consumer do
|
|
15
15
|
nsqlookupd: ENV.fetch('NSQLOOKUPD_HTTP_ADDRESS'),
|
16
16
|
topic: topic,
|
17
17
|
channel: channel,
|
18
|
-
|
18
|
+
).at_least(:once)
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
@@ -32,7 +32,7 @@ RSpec.describe MessageQueue::Consumer do
|
|
32
32
|
nsqlookupd: ENV.fetch('NSQLOOKUPD_HTTP_ADDRESS'),
|
33
33
|
topic: topic,
|
34
34
|
channel: channel,
|
35
|
-
|
35
|
+
).at_least(:once)
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -45,7 +45,7 @@ RSpec.describe MessageQueue::Consumer do
|
|
45
45
|
|
46
46
|
consumer = MessageQueue::Consumer.new(topic: topic, channel: channel)
|
47
47
|
|
48
|
-
expect{ consumer.connection }.to raise_error(InvalidParameterError)
|
48
|
+
expect { consumer.connection }.to raise_error(InvalidParameterError)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
@@ -21,7 +21,7 @@ RSpec.describe MessageQueue::Listener do
|
|
21
21
|
it 'processes the message' do
|
22
22
|
process_message = double(go: nil)
|
23
23
|
allow(MessageProcessor).to receive(:new).and_return(process_message)
|
24
|
-
message_body = { data: 'value'
|
24
|
+
message_body = { data: 'value' }.to_json
|
25
25
|
message = double('Message', finish: nil, body: message_body)
|
26
26
|
connection = double('Connection', pop: message, terminate: nil)
|
27
27
|
consumer = double('Consumer', connection: connection)
|
@@ -58,12 +58,12 @@ RSpec.describe MessageQueue::Listener do
|
|
58
58
|
channel = 'testing_channel'
|
59
59
|
delay = FakeMessageQueue::Consumer::SECONDS_BETWEEN_QUEUE_CHECKS + 0.1
|
60
60
|
|
61
|
-
expect
|
62
|
-
Timeout
|
61
|
+
expect do
|
62
|
+
Timeout.timeout(delay) do
|
63
63
|
MessageQueue::Listener.new(topic: topic, channel: channel).
|
64
64
|
process_next_message
|
65
65
|
end
|
66
|
-
|
66
|
+
end.to raise_error(Timeout::Error)
|
67
67
|
end
|
68
68
|
end
|
69
69
|
end
|
@@ -13,7 +13,7 @@ RSpec.describe MessageQueue::Producer do
|
|
13
13
|
with(
|
14
14
|
nsqd: ENV.fetch('NSQD_TCP_ADDRESS'),
|
15
15
|
topic: topic,
|
16
|
-
|
16
|
+
).at_least(:once)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -28,7 +28,7 @@ RSpec.describe MessageQueue::Producer do
|
|
28
28
|
with(
|
29
29
|
nsqd: ENV.fetch('NSQD_TCP_ADDRESS'),
|
30
30
|
topic: topic,
|
31
|
-
|
31
|
+
).at_least(:once)
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
@@ -39,7 +39,7 @@ RSpec.describe MessageQueue::Producer do
|
|
39
39
|
|
40
40
|
producer = MessageQueue::Producer.new(topic: topic)
|
41
41
|
|
42
|
-
expect{ producer.connection }.to raise_error(InvalidParameterError)
|
42
|
+
expect { producer.connection }.to raise_error(InvalidParameterError)
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|
@@ -22,7 +22,7 @@ RSpec.describe Strategy do
|
|
22
22
|
it 'raises with a helpful error' do
|
23
23
|
allow(ENV).to receive(:[]).with('FAKE_QUEUE').and_return('taco')
|
24
24
|
|
25
|
-
expect{ Strategy.for_queue }.to raise_error(InvalidParameterError)
|
25
|
+
expect { Strategy.for_queue }.to raise_error(InvalidParameterError)
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -37,7 +37,7 @@ RSpec.describe MessageQueue::RakeTask do
|
|
37
37
|
context 'when multiple topics are defined' do
|
38
38
|
it 'creates a listener for each' do
|
39
39
|
channel = 'clown_generating_service'
|
40
|
-
topics =
|
40
|
+
topics = %w(customer_created customer_now_awesome)
|
41
41
|
allow(SampleMessageProcessor).to receive(:topics).and_return(topics)
|
42
42
|
message_queue_listener = double('listener', go: nil)
|
43
43
|
allow(MessageQueue::Listener).to receive(:new).
|
@@ -105,23 +105,24 @@ RSpec.describe MessageQueue::RakeTask do
|
|
105
105
|
topics = ['customer_created']
|
106
106
|
allow(SampleMessageProcessor).to receive(:topics).and_return(topics)
|
107
107
|
|
108
|
-
expect
|
108
|
+
expect do
|
109
109
|
MessageQueue::RakeTask.new(:begin_listening, [:channel])
|
110
110
|
Rake::Task['begin_listening'].execute
|
111
|
-
|
111
|
+
end.to raise_error(ArgumentError, /channel is required/)
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
115
115
|
context 'when MessageProcessor.topics is not defined' do
|
116
116
|
it 'raises an error' do
|
117
117
|
channel = 'best_server_number_1'
|
118
|
+
error_message = /MessageProcessor.topics is not defined/
|
118
119
|
allow(SampleMessageProcessor).to receive(:topics).
|
119
120
|
and_raise(NoMethodError, "undefined method `topics'")
|
120
121
|
|
121
|
-
expect
|
122
|
+
expect do
|
122
123
|
MessageQueue::RakeTask.new(:begin_listening, [:channel])
|
123
124
|
Rake::Task['begin_listening'].execute(channel: channel)
|
124
|
-
|
125
|
+
end.to raise_error(ArgumentError, error_message)
|
125
126
|
end
|
126
127
|
end
|
127
128
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastly_nsq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tommy O'Neil
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-03-
|
12
|
+
date: 2016-03-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: awesome_print
|
@@ -31,28 +31,42 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
34
|
+
version: 1.11.2
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
41
|
+
version: 1.11.2
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: bundler-audit
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
48
|
+
version: 0.5.0
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
55
|
+
version: 0.5.0
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: overcommit
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.32.0
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.32.0
|
56
70
|
- !ruby/object:Gem::Dependency
|
57
71
|
name: pry-byebug
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,42 +87,56 @@ dependencies:
|
|
73
87
|
requirements:
|
74
88
|
- - "~>"
|
75
89
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
90
|
+
version: 11.1.2
|
77
91
|
type: :development
|
78
92
|
prerelease: false
|
79
93
|
version_requirements: !ruby/object:Gem::Requirement
|
80
94
|
requirements:
|
81
95
|
- - "~>"
|
82
96
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
97
|
+
version: 11.1.2
|
84
98
|
- !ruby/object:Gem::Dependency
|
85
99
|
name: rdoc
|
86
100
|
requirement: !ruby/object:Gem::Requirement
|
87
101
|
requirements:
|
88
102
|
- - "~>"
|
89
103
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
104
|
+
version: 4.2.2
|
91
105
|
type: :development
|
92
106
|
prerelease: false
|
93
107
|
version_requirements: !ruby/object:Gem::Requirement
|
94
108
|
requirements:
|
95
109
|
- - "~>"
|
96
110
|
- !ruby/object:Gem::Version
|
97
|
-
version:
|
111
|
+
version: 4.2.2
|
98
112
|
- !ruby/object:Gem::Dependency
|
99
113
|
name: rspec
|
100
114
|
requirement: !ruby/object:Gem::Requirement
|
101
115
|
requirements:
|
102
116
|
- - "~>"
|
103
117
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
118
|
+
version: 3.4.0
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - "~>"
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 3.4.0
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: rubocop
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - "~>"
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: 0.39.0
|
105
133
|
type: :development
|
106
134
|
prerelease: false
|
107
135
|
version_requirements: !ruby/object:Gem::Requirement
|
108
136
|
requirements:
|
109
137
|
- - "~>"
|
110
138
|
- !ruby/object:Gem::Version
|
111
|
-
version:
|
139
|
+
version: 0.39.0
|
112
140
|
- !ruby/object:Gem::Dependency
|
113
141
|
name: rubygems-tasks
|
114
142
|
requirement: !ruby/object:Gem::Requirement
|
@@ -152,7 +180,9 @@ files:
|
|
152
180
|
- ".document"
|
153
181
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
154
182
|
- ".gitignore"
|
183
|
+
- ".overcommit.yml"
|
155
184
|
- ".rdoc_options"
|
185
|
+
- ".rubocop.yml"
|
156
186
|
- ".ruby-version"
|
157
187
|
- ".travis.yml"
|
158
188
|
- ChangeLog.md
|