dispatch-rider 1.6.0 → 1.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 865cf06c42c11dd3d75306800df557467d80a114
4
- data.tar.gz: c86261b609d01cc2db299bf8cd5a74be20de1a95
3
+ metadata.gz: 20ecab8e18af62e4795b431f0860148f5929277c
4
+ data.tar.gz: b87e0c608b4ee99a1e85279bf9d42afc5b4e8b53
5
5
  SHA512:
6
- metadata.gz: ac475def2ee3a4fa688d4dd693da7da42e29f6826f880e9142532e5026533af96eec09d3d8bd79e735fbb09e7ce63d6a028a3a3c1bd8639e150d76e200ea5243
7
- data.tar.gz: 28def6f13e59297cc5269443c94f22121fa87bae86d0fc6f02e436fe285ffb3d6605b245da91a56728b860c579238d7337d2a7beedc21aa60c7ffe536fc4e620
6
+ metadata.gz: 9e645f3c4257d14f8d17e1402ec5ef73ceee737b380ffa531391a010ad28e11fba30baa806af34d1d21f518583fd6bc44651fc65e5bc36a7f698f50c4edc1158
7
+ data.tar.gz: 8aa77e404a4caa1680def056db848c6c124c1e1ee935278770b9a35c8e278100a23c5b347b80c2bdadc5c62c3e2b8a494b8f2f5850af531abc46299b824811ea
data/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # Change Log
2
2
 
3
+ ## [v1.6.0](https://github.com/payrollhero/dispatch-rider/tree/v1.6.0) (2015-06-20)
4
+
5
+ [Full Changelog](https://github.com/payrollhero/dispatch-rider/compare/v1.5.3...v1.6.0)
6
+
7
+ **Closed issues:**
8
+
9
+ - ActiveJob Support [\#50](https://github.com/payrollhero/dispatch-rider/issues/50)
10
+
11
+ **Merged pull requests:**
12
+
13
+ - Adding "long polling" to filesystem queue driver [\#64](https://github.com/payrollhero/dispatch-rider/pull/64) ([piotrb](https://github.com/piotrb))
14
+
15
+ - Rspec upgrade [\#63](https://github.com/payrollhero/dispatch-rider/pull/63) ([piotrb](https://github.com/piotrb))
16
+
17
+ - Add JSON log formatter [\#62](https://github.com/payrollhero/dispatch-rider/pull/62) ([mykola-kyryk](https://github.com/mykola-kyryk))
18
+
19
+ - Extract logging from Demultiplexer into a separate module. Add log fo… [\#61](https://github.com/payrollhero/dispatch-rider/pull/61) ([mykola-kyryk](https://github.com/mykola-kyryk))
20
+
21
+ ## [v1.5.3](https://github.com/payrollhero/dispatch-rider/tree/v1.5.3) (2015-05-21)
22
+
23
+ [Full Changelog](https://github.com/payrollhero/dispatch-rider/compare/v1.4.2...v1.5.3)
24
+
25
+ **Merged pull requests:**
26
+
27
+ - Allow setting of message guid [\#59](https://github.com/payrollhero/dispatch-rider/pull/59) ([more-ron](https://github.com/more-ron))
28
+
29
+ - Make the overriden function "publish to channel" be the only thing overriden [\#58](https://github.com/payrollhero/dispatch-rider/pull/58) ([more-ron](https://github.com/more-ron))
30
+
31
+ - Add publishing callbacks [\#57](https://github.com/payrollhero/dispatch-rider/pull/57) ([more-ron](https://github.com/more-ron))
32
+
33
+ - Updating rspec and some of the depracations [\#56](https://github.com/payrollhero/dispatch-rider/pull/56) ([piotrb](https://github.com/piotrb))
34
+
3
35
  ## [v1.4.2](https://github.com/payrollhero/dispatch-rider/tree/v1.4.2) (2015-04-10)
4
36
 
5
37
  [Full Changelog](https://github.com/payrollhero/dispatch-rider/compare/v1.4.1...v1.4.2)
@@ -266,8 +298,6 @@
266
298
 
267
299
  - Added process naming to dispatcher. [\#23](https://github.com/payrollhero/dispatch-rider/pull/23) ([link664](https://github.com/link664))
268
300
 
269
- - Fail job after running error handler. [\#27](https://github.com/payrollhero/dispatch-rider/pull/27) ([link664](https://github.com/link664))
270
-
271
301
  ## [v0.0.5](https://github.com/payrollhero/dispatch-rider/tree/v0.0.5) (2013-08-20)
272
302
 
273
303
  [Full Changelog](https://github.com/payrollhero/dispatch-rider/compare/2013-06-06-13-08-PST...v0.0.5)
@@ -314,10 +344,6 @@
314
344
 
315
345
  - Fix double serialize on file system bug [\#15](https://github.com/payrollhero/dispatch-rider/pull/15) ([more-ron](https://github.com/more-ron))
316
346
 
317
- - Add publisher configure method [\#16](https://github.com/payrollhero/dispatch-rider/pull/16) ([more-ron](https://github.com/more-ron))
318
-
319
- - Initial implementation of hash based configuration to satisfy issue \#10 [\#11](https://github.com/payrollhero/dispatch-rider/pull/11) ([jimbomt](https://github.com/jimbomt))
320
-
321
347
  ## [2013-05-28-15-13+08-00](https://github.com/payrollhero/dispatch-rider/tree/2013-05-28-15-13+08-00) (2013-05-28)
322
348
 
323
349
  [Full Changelog](https://github.com/payrollhero/dispatch-rider/compare/2013-05-28...2013-05-28-15-13+08-00)
data/README.md CHANGED
@@ -212,6 +212,12 @@ DispatchRider.config do |config|
212
212
  end
213
213
 
214
214
  config.logger = Rails.logger
215
+ # Log Formatter
216
+ # Text Formatter (default)
217
+ # config.log_formatter = DispatchRider::Logging::TextFormatter.new
218
+ # JSON Formatter
219
+ # config.log_formatter = DispatchRider::Logging::JsonFormatter.new
220
+
215
221
  config.default_retry_timeout = 300
216
222
 
217
223
  config.error_handler = DispatchRider::DefaultErrorHandler # an object that responds to .call(message, exception)
@@ -226,7 +232,7 @@ end
226
232
  Options:
227
233
 
228
234
  * `logger` : what logger to use to send messages to (responds to the standard ruby Logger protocol), defaults to a new Logger sending messages to STDERR
229
-
235
+ * `log_formatter` : what log formatter to use with logger, defaults to DispatchRider::Logging::TextFormatter.new
230
236
 
231
237
  ### Callbacks
232
238
 
@@ -20,6 +20,10 @@ module DispatchRider
20
20
  @configuration ||= Configuration.new
21
21
  end
22
22
  alias_method :config, :configuration
23
+
24
+ def clear_configuration!
25
+ @configuration = nil
26
+ end
23
27
  end
24
28
  end
25
29
 
@@ -14,7 +14,7 @@ module DispatchRider
14
14
  @logger = Logger.new(STDERR)
15
15
  @debug = false
16
16
 
17
- @callbacks.around(:handle_message) do |job, message|
17
+ @callbacks.around(:dispatch_message) do |job, message|
18
18
  Logging::LifecycleLogger.wrap_handling(message) do
19
19
  job.call
20
20
  end
@@ -55,13 +55,17 @@ module DispatchRider
55
55
 
56
56
  def do_loop
57
57
  catch(:done) do
58
- loop do
58
+ while keep_going?
59
59
  throw :done unless @continue
60
60
  yield
61
61
  end
62
62
  end
63
63
  end
64
64
 
65
+ def keep_going?
66
+ true
67
+ end
68
+
65
69
  def handle_next_queue_item
66
70
  queue.pop do |message|
67
71
  dispatch_message(message)
@@ -34,21 +34,27 @@ module DispatchRider
34
34
  # @return [String] JSON representation of the log item
35
35
  def format_handling(kind, message, exception: nil, duration: nil)
36
36
  as_json do
37
- case kind
38
- when :start
39
- message_info_fragment(message)
40
- when :success
41
- message_info_fragment(message)
42
- when :fail
43
- exception_info_fragment(message, exception)
44
- when :complete
45
- { duration: format_duration(duration) }.merge message_info_fragment(message)
46
- end.merge(phase: kind)
37
+ fragment = case kind
38
+ when :start
39
+ message_info_fragment(message)
40
+ when :success
41
+ message_info_fragment(message)
42
+ when :fail
43
+ exception_info_fragment(message, exception)
44
+ when :complete
45
+ duration_fragment = { duration: format_duration(duration) }
46
+ message_info_fragment(message).merge duration_fragment
47
+ end
48
+ { phase: kind }.merge fragment
47
49
  end
48
50
  end
49
51
 
50
52
  private
51
53
 
54
+ def format_duration(duration)
55
+ duration
56
+ end
57
+
52
58
  def as_json
53
59
  JSON.generate yield
54
60
  end
@@ -11,8 +11,8 @@ module DispatchRider
11
11
  end
12
12
 
13
13
  def wrap_handling(message)
14
- log_start(message)
15
14
  start_time = Time.now
15
+ log_start(message)
16
16
  yield
17
17
  log_success(message)
18
18
  rescue => exception
@@ -16,7 +16,7 @@ module DispatchRider
16
16
 
17
17
  def process
18
18
  callbacks.invoke(:process) do
19
- puts "Running..."
19
+ logger.info "Running..."
20
20
  @subscriber.process
21
21
  end
22
22
  end
@@ -1,4 +1,4 @@
1
1
  # This file specifies the current version of the gem.
2
2
  module DispatchRider
3
- VERSION = "1.6.0"
3
+ VERSION = "1.6.1"
4
4
  end
@@ -0,0 +1,127 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Logging" do
4
+ let(:publisher) { setup_publisher }
5
+ let(:subscriber) { setup_subscriber }
6
+
7
+ let(:mock_logger_class) do
8
+ Class.new {
9
+ def initialize
10
+ @log = []
11
+ end
12
+
13
+ attr_reader :log
14
+
15
+ def info(message)
16
+ @log << { level: :info, message: message }
17
+ end
18
+
19
+ def error(message)
20
+ @log << { level: :error, message: message }
21
+ end
22
+ }
23
+ end
24
+
25
+ let(:mock_logger) { mock_logger_class.new }
26
+
27
+ before do
28
+ purge_test_queue
29
+ DispatchRider.config.log_formatter = DispatchRider::Logging::JsonFormatter.new
30
+ DispatchRider.config.logger = mock_logger
31
+ DispatchRider.config.debug = true
32
+ end
33
+
34
+ after do
35
+ DispatchRider.clear_configuration!
36
+ end
37
+
38
+ context "successful handler" do
39
+ before do
40
+ publisher.publish message: { subject: 'sample_handler', body: {} }, destinations: :dst
41
+ work_off_jobs(subscriber)
42
+ end
43
+
44
+ example "full logging integration in json mode" do
45
+ expected1 = {
46
+ 'phase' => 'start',
47
+ 'guid' => 'test-mode-not-random-guid',
48
+ 'subject' => 'sample_handler',
49
+ 'body' => {},
50
+ }
51
+
52
+ expected2 = {
53
+ 'phase' => 'success',
54
+ 'guid' => 'test-mode-not-random-guid',
55
+ 'subject' => 'sample_handler',
56
+ 'body' => {},
57
+ }
58
+
59
+ expected3 = {
60
+ 'phase' => 'complete',
61
+ 'guid' => 'test-mode-not-random-guid',
62
+ 'subject' => 'sample_handler',
63
+ 'body' => {},
64
+ }
65
+
66
+ expect(mock_logger.log.count).to eq(3)
67
+
68
+ expect(mock_logger.log[0]).to eq(level: :info, message: expected1.to_json)
69
+ expect(mock_logger.log[1]).to eq(level: :info, message: expected2.to_json)
70
+
71
+ # last one is a bit harder since it has a relative 'duration' value
72
+ entry = mock_logger.log[2]
73
+ expect(entry[:level]).to eq(:info)
74
+ payload = JSON.load(entry[:message])
75
+ expect(payload['duration']).to be_a(Numeric)
76
+ payload.delete 'duration'
77
+ expect(payload).to eq(expected3)
78
+ end
79
+ end
80
+
81
+ context "failing handler" do
82
+ before do
83
+ publisher.publish message: { subject: 'crashing_handler', body: {} }, destinations: :dst
84
+ work_off_jobs(subscriber, fail_on_error: false)
85
+ end
86
+
87
+ example "full logging integration in json mode" do
88
+ expected1 = {
89
+ 'phase' => 'start',
90
+ 'guid' => 'test-mode-not-random-guid',
91
+ 'subject' => 'crashing_handler',
92
+ 'body' => {},
93
+ }
94
+
95
+ expected2 = {
96
+ 'phase' => 'fail',
97
+ 'guid' => 'test-mode-not-random-guid',
98
+ 'subject' => 'crashing_handler',
99
+ 'body' => {},
100
+ 'expection' => {
101
+ 'class' => 'RuntimeError',
102
+ 'message' => 'I crashed!',
103
+ },
104
+ }
105
+
106
+ expected3 = {
107
+ 'phase' => 'complete',
108
+ 'guid' => 'test-mode-not-random-guid',
109
+ 'subject' => 'crashing_handler',
110
+ 'body' => {},
111
+ }
112
+
113
+ expect(mock_logger.log.count).to eq(3)
114
+
115
+ expect(mock_logger.log[0]).to eq(level: :info, message: expected1.to_json)
116
+ expect(mock_logger.log[1]).to eq(level: :error, message: expected2.to_json)
117
+
118
+ # last one is a bit harder since it has a relative 'duration' value
119
+ entry = mock_logger.log[2]
120
+ expect(entry[:level]).to eq(:info)
121
+ payload = JSON.load(entry[:message])
122
+ expect(payload['duration']).to be_a(Numeric)
123
+ payload.delete 'duration'
124
+ expect(payload).to eq(expected3)
125
+ end
126
+ end
127
+ end
@@ -59,7 +59,6 @@ describe DispatchRider::Demultiplexer, nodb: true do
59
59
  demultiplexer_thread.run
60
60
  sleep 0.01 # give it a chance to process the job async before killing the demux
61
61
  end
62
-
63
62
  # THIS ALSO TESTS THAT THE JOB IS NOT RUN MULTIPLE TIMES
64
63
  # IF THIS FAILS, BE CAREFUL NOT TO INTRODUCE BUGS
65
64
  it "should call the correct handler" do
@@ -14,12 +14,18 @@ describe DispatchRider::Dispatcher, :nodb => true do
14
14
  end
15
15
 
16
16
  describe "#dispatch" do
17
- let(:message) { DispatchRider::Message.new(subject: "handle_something", body: { do_throw_something: true }) }
17
+ let(:message_subject) { "handle_something" }
18
+ let(:message_body) { { do_throw_something: true } }
19
+ let(:fs_message) do
20
+ DispatchRider::Message.new(subject: message_subject, body: message_body.merge('guid' => 123))
21
+ end
22
+ let(:item) { double :item }
23
+ let(:queue) { double :queue }
24
+ let(:message) { DispatchRider::QueueServices::FileSystem::FsReceivedMessage.new(fs_message, item, queue) }
18
25
 
19
26
  describe "callbacks" do
20
27
  let(:dummy) { double(:dummy) }
21
28
  let(:storage) { DispatchRider::Callbacks::Storage.new }
22
- let(:message) { DispatchRider::Message.new(subject: "handle_something", body: { do_throw_something: true }) }
23
29
 
24
30
  before do
25
31
  allow(DispatchRider.config).to receive(:callbacks) { storage }
@@ -55,9 +61,7 @@ describe DispatchRider::Dispatcher, :nodb => true do
55
61
  end
56
62
 
57
63
  context "when the handler returns false" do
58
- let(:message) do
59
- DispatchRider::Message.new(subject: "handler_that_returns_false", body: { do_throw_something: true })
60
- end
64
+ let(:message_subject) { "handler_that_returns_false" }
61
65
 
62
66
  before :each do
63
67
  subject.register('handler_that_returns_false')
@@ -56,7 +56,7 @@ describe DispatchRider::Logging::JsonFormatter do
56
56
  end
57
57
 
58
58
  context "complete" do
59
- let(:formatted_message) { result_object.merge("phase" => "complete", "duration" => "2.00") }
59
+ let(:formatted_message) { result_object.merge("phase" => "complete", "duration" => 2.0) }
60
60
  let(:result_message) { JSON.parse subject.format_handling(:complete, message, duration: 2.0) }
61
61
 
62
62
  example { expect(result_message).to eq(formatted_message) }
@@ -11,6 +11,10 @@ describe DispatchRider::Runner do
11
11
  end
12
12
  end
13
13
 
14
+ after do
15
+ DispatchRider.clear_configuration!
16
+ end
17
+
14
18
  example do
15
19
  expect(subscriber).to receive(:new).once.and_return(subscriber)
16
20
  expect(subscriber).to receive(:register_queue).once
@@ -1,6 +1,14 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe DispatchRider::Subscriber do
4
+ let(:message_subject) { "handle_something" }
5
+ let(:message_body) { { do_throw_something: true } }
6
+ let(:fs_message) do
7
+ DispatchRider::Message.new(subject: message_subject, body: message_body.merge('guid' => 123))
8
+ end
9
+ let(:item) { double :item }
10
+ let(:queue) { double :queue }
11
+ let(:message) { DispatchRider::QueueServices::FileSystem::FsReceivedMessage.new(fs_message, item, queue) }
4
12
 
5
13
  before do
6
14
  allow(DispatchRider::Handlers::Base).to receive(:subclasses) { Set.new }
@@ -27,20 +35,19 @@ describe DispatchRider::Subscriber do
27
35
  end
28
36
 
29
37
  describe "#register_handler" do
38
+ let(:message_subject) { :foo_bar }
39
+ let(:message_body) { { 'foo' => 'bar' } }
40
+
30
41
  it "should register a handler" do
31
42
  subject.register_handler(:foo_bar)
32
43
  expect {
33
- message = DispatchRider::Message.new(subject: :foo_bar, body: { 'foo' => 'bar' })
34
44
  subject.dispatcher.dispatch(message)
35
45
  }.to throw_symbol(:process_was_called)
36
46
  end
37
- end
38
47
 
39
- describe "#register_handlers" do
40
48
  it "should register all the handlers" do
41
49
  subject.register_handlers(:foo_bar)
42
50
  expect {
43
- message = DispatchRider::Message.new(subject: :foo_bar, body: { 'foo' => 'bar' })
44
51
  subject.dispatcher.dispatch(message)
45
52
  }.to throw_symbol(:process_was_called)
46
53
  end
@@ -82,8 +89,10 @@ describe DispatchRider::Subscriber do
82
89
  # kills travis sometimes so leaving it here as tested documentation
83
90
  describe "process termination", if: false do
84
91
  before { allow(subject.demultiplexer).to receive(:stop) { throw :got_stopped } }
92
+ let(:message_body) { { 'foo' => 'bar' } }
85
93
 
86
94
  context "when process quits" do
95
+ let(:message_subject) { :quiter }
87
96
  before do
88
97
  konst = Class.new(DispatchRider::Handlers::Base) do
89
98
  def process(_options)
@@ -93,7 +102,6 @@ describe DispatchRider::Subscriber do
93
102
  stub_const("Quiter", konst)
94
103
 
95
104
  subject.register_handler(:quiter)
96
- message = DispatchRider::Message.new(subject: :quiter, body: {})
97
105
  subject.queue_service_registrar.fetch(:simple).push(message)
98
106
  end
99
107
 
@@ -101,6 +109,7 @@ describe DispatchRider::Subscriber do
101
109
  end
102
110
 
103
111
  context "when process terminates" do
112
+ let(:message_subject) { :terminator }
104
113
  before do
105
114
  konst = Class.new(DispatchRider::Handlers::Base) do
106
115
  def process(_options)
@@ -109,7 +118,6 @@ describe DispatchRider::Subscriber do
109
118
  end
110
119
  stub_const("Terminator", konst)
111
120
  subject.register_handler(:terminator)
112
- message = DispatchRider::Message.new(subject: :terminator, body: {})
113
121
  subject.queue_service_registrar.fetch(:simple).push(message)
114
122
  end
115
123
 
@@ -117,6 +125,7 @@ describe DispatchRider::Subscriber do
117
125
  end
118
126
 
119
127
  context "when process is interupted" do
128
+ let(:message_subject) { :interupter }
120
129
  before do
121
130
  konst = Class.new(DispatchRider::Handlers::Base) do
122
131
  def process(_options)
@@ -125,7 +134,6 @@ describe DispatchRider::Subscriber do
125
134
  end
126
135
  stub_const("Interupter", konst)
127
136
  subject.register_handler(:interupter)
128
- message = DispatchRider::Message.new(subject: :interupter, body: {})
129
137
  subject.queue_service_registrar.fetch(:simple).push(message)
130
138
  end
131
139
 
@@ -133,6 +141,7 @@ describe DispatchRider::Subscriber do
133
141
  end
134
142
 
135
143
  context "when process is interupted twice" do
144
+ let(:message_subject) { :twice_interupter }
136
145
  before do
137
146
  allow(subject.demultiplexer).to receive(:stop) # do nothing just ignore the interuption
138
147
  allow(subject).to receive(:exit) { throw :got_forcefully_stopped }
@@ -144,7 +153,6 @@ describe DispatchRider::Subscriber do
144
153
  end
145
154
  stub_const("TwiceInterupter", konst)
146
155
  subject.register_handler(:twice_interupter)
147
- message = DispatchRider::Message.new(subject: :twice_interupter, body: {})
148
156
  subject.queue_service_registrar.fetch(:simple).push(message)
149
157
  end
150
158
 
data/spec/spec_helper.rb CHANGED
@@ -1,10 +1,15 @@
1
1
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
2
  $LOAD_PATH.unshift(File.dirname(__FILE__))
3
3
 
4
+ Bundler.require
5
+
4
6
  require 'aws'
5
7
  require 'rake'
6
8
  require 'tempfile'
7
9
 
10
+ require 'dispatch-rider'
11
+ Dir['./spec/support/**/*.rb'].each { |fn| require(fn) }
12
+
8
13
  RSpec.configure do |config|
9
14
  config.raise_errors_for_deprecations!
10
15
  config.mock_with :rspec
@@ -14,10 +19,14 @@ RSpec.configure do |config|
14
19
  config.mock_with :rspec do |mocks|
15
20
  mocks.yield_receiver_to_any_instance_implementation_blocks = false
16
21
  end
22
+
23
+ config.include IntegrationSupport
24
+
25
+ config.before do
26
+ DispatchRider.config.logger = NullLogger.new
27
+ end
17
28
  end
18
29
 
19
30
  # Airbrake dummy module
20
31
  module Airbrake
21
32
  end
22
-
23
- require 'dispatch-rider'
@@ -0,0 +1,5 @@
1
+ class CrashingHandler < DispatchRider::Handlers::Base
2
+ def process(_params)
3
+ raise "I crashed!"
4
+ end
5
+ end
@@ -0,0 +1,33 @@
1
+ module IntegrationSupport
2
+ def setup_publisher
3
+ publisher = DispatchRider::Publisher.new
4
+ publisher.register_notification_service :file_system
5
+ publisher.register_destination :dst, :file_system, :dst_channel, path: 'tmp/test_queue'
6
+ publisher
7
+ end
8
+
9
+ def purge_test_queue
10
+ Dir['tmp/test_queue/*'].each { |fn| File.unlink(fn) }
11
+ end
12
+
13
+ def setup_subscriber
14
+ subscriber = DispatchRider.config.subscriber.new
15
+ subscriber.register_queue(:file_system, path: 'tmp/test_queue')
16
+ subscriber.register_handler(:sample_handler)
17
+ subscriber.register_handler(:crashing_handler)
18
+ subscriber
19
+ end
20
+
21
+ def work_off_jobs(subscriber, fail_on_error: true)
22
+ subscriber.setup_demultiplexer(:file_system, ->(_message, error) { raise error if fail_on_error })
23
+
24
+ class << subscriber.demultiplexer
25
+ def keep_going?
26
+ !queue.empty?
27
+ end
28
+ end
29
+
30
+ subscriber.demultiplexer.start
31
+ end
32
+
33
+ end
@@ -0,0 +1,9 @@
1
+ class NullLogger
2
+ def ignore(*_args)
3
+ end
4
+
5
+ alias info ignore
6
+ alias error ignore
7
+ alias debug ignore
8
+ alias warn ignore
9
+ end
@@ -0,0 +1,5 @@
1
+ class SampleHandler < DispatchRider::Handlers::Base
2
+ def process(_params)
3
+ # do nothing
4
+ end
5
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dispatch-rider
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Suman Mukherjee
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2015-06-20 00:00:00.000000000 Z
14
+ date: 2015-06-24 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activesupport
@@ -165,6 +165,7 @@ files:
165
165
  - lib/generators/dispatch_rider/job/templates/publisher/publisher_spec.rb.erb
166
166
  - spec/fixtures/handlers/another_test_handler.rb
167
167
  - spec/fixtures/handlers/test_handler.rb
168
+ - spec/integration/logging_spec.rb
168
169
  - spec/lib/dispatch-rider/airbrake_error_handler_spec.rb
169
170
  - spec/lib/dispatch-rider/callbacks/access_spec.rb
170
171
  - spec/lib/dispatch-rider/callbacks/storage_spec.rb
@@ -209,6 +210,10 @@ files:
209
210
  - spec/lib/dispatch-rider/subscriber_spec.rb
210
211
  - spec/lib/dispatch-rider_spec.rb
211
212
  - spec/spec_helper.rb
213
+ - spec/support/crashing_handler.rb
214
+ - spec/support/integration_support.rb
215
+ - spec/support/null_logger.rb
216
+ - spec/support/sample_handler.rb
212
217
  homepage: https://github.com/payrollhero/dispatch-rider
213
218
  licenses:
214
219
  - MIT
@@ -237,6 +242,7 @@ summary: Messaging system that is customizable based on which queueing system we
237
242
  test_files:
238
243
  - spec/fixtures/handlers/another_test_handler.rb
239
244
  - spec/fixtures/handlers/test_handler.rb
245
+ - spec/integration/logging_spec.rb
240
246
  - spec/lib/dispatch-rider/airbrake_error_handler_spec.rb
241
247
  - spec/lib/dispatch-rider/callbacks/access_spec.rb
242
248
  - spec/lib/dispatch-rider/callbacks/storage_spec.rb
@@ -281,3 +287,7 @@ test_files:
281
287
  - spec/lib/dispatch-rider/subscriber_spec.rb
282
288
  - spec/lib/dispatch-rider_spec.rb
283
289
  - spec/spec_helper.rb
290
+ - spec/support/crashing_handler.rb
291
+ - spec/support/integration_support.rb
292
+ - spec/support/null_logger.rb
293
+ - spec/support/sample_handler.rb