event_bus_rb 1.1.0 → 2.0.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: 70428a7120a2fdf13ec0f393bd3d4be03fe39d87
4
- data.tar.gz: 09910bd25e6eff87ee3c026f9716474568f94cc1
3
+ metadata.gz: 746e5b1a3f6fb400f12649dca5247933e2749a06
4
+ data.tar.gz: 9945758965e56f64a783af8b801d60055e1d12d4
5
5
  SHA512:
6
- metadata.gz: 283945dc738671c43c611797702b25db62a60ccb07dc09c82b2c439741bebc8ce8af0603ad6d8f506c97f2bb4e0a8c36756f34594938f77e5eb764ff6a95593c
7
- data.tar.gz: acc044ff573f6a0b4551927c8cb3cd822fd98d93162b57fec62d803155003b3645aa28829af2517a4646198d13a9ded5f5d7bfdd8e86ac1e1fcc444bf8d44388
6
+ metadata.gz: f7d5285e3c30e212e3451a66dd57e96639df2934a8e19431cfe96fef279a8b5d89cc7ee2d056c918d304a769d4d0fbcae38116993e6001f08037e55893b3ab9a
7
+ data.tar.gz: 8de236feed39b9b1dcc71d8033e2963fc30353f25f09e7640341ab4bc3fff3e03171b0ce070164be56c51f036f3f884f3a9c10bd0cd2e2f8959934c478339c2d
data/Gemfile.lock CHANGED
@@ -1,18 +1,18 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- event_bus (1.0.0)
5
- bunny (~> 2.7.0)
4
+ event_bus_rb (2.0.0)
5
+ bunny (~> 2.7)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  amq-protocol (2.2.0)
11
- awesome_print (1.7.0)
11
+ awesome_print (1.8.0)
12
12
  bunny (2.7.0)
13
13
  amq-protocol (>= 2.2.0)
14
- byebug (9.0.6)
15
- coderay (1.1.1)
14
+ byebug (9.1.0)
15
+ coderay (1.1.2)
16
16
  diff-lcs (1.3)
17
17
  dotenv (2.2.1)
18
18
  method_source (0.8.2)
@@ -20,8 +20,8 @@ GEM
20
20
  coderay (~> 1.1.0)
21
21
  method_source (~> 0.8.1)
22
22
  slop (~> 3.4)
23
- pry-byebug (3.4.2)
24
- byebug (~> 9.0)
23
+ pry-byebug (3.5.0)
24
+ byebug (~> 9.1)
25
25
  pry (~> 0.10)
26
26
  pry-meta (0.0.10)
27
27
  awesome_print
@@ -53,10 +53,10 @@ PLATFORMS
53
53
  DEPENDENCIES
54
54
  bundler
55
55
  dotenv
56
- event_bus!
56
+ event_bus_rb!
57
57
  pry-meta
58
58
  rake
59
59
  rspec
60
60
 
61
61
  BUNDLED WITH
62
- 1.14.6
62
+ 1.15.4
data/README.md CHANGED
@@ -72,7 +72,7 @@ event_name = 'resource.origin.action'
72
72
 
73
73
  puts 'Start receiving messages'
74
74
 
75
- EventBus::Listener.on(event_name) do |event|
75
+ EventBus::Listener.on(event_name) do |event, _delivery_info|
76
76
  puts ""
77
77
  puts " - Received a message from #{event.name}:"
78
78
  puts " Message: #{event.body}"
@@ -99,12 +99,16 @@ class CustomEventListener < EventBus::Listeners::Base
99
99
  bind :pay, 'resource.custom.pay'
100
100
  bind :receive, 'resource.custom.receive'
101
101
 
102
- def pay(event)
102
+ def pay(event, delivery_info)
103
103
  puts "Paid #{event.body['amount']} for #{event.body['name']} ~> #{event.name}"
104
+
105
+ channel.ack(delivery_info.delivery_tag, false)
104
106
  end
105
107
 
106
- def receive(event)
108
+ def receive(event, delivery_info)
107
109
  puts "Received #{event.body['amount']} from #{event.body['name']} ~> #{event.name}"
110
+
111
+ channel.ack(delivery_info.delivery_tag, false)
108
112
  end
109
113
  end
110
114
  ```
data/event_bus_rb.gemspec CHANGED
@@ -27,11 +27,10 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ['lib']
29
29
 
30
- spec.add_development_dependency 'bundler', '~> 0'
31
- spec.add_development_dependency 'rake', '~> 0'
32
- spec.add_development_dependency 'rspec', '~> 0'
33
- spec.add_development_dependency 'pry-meta', '~> 0'
34
- spec.add_development_dependency 'dotenv', '~> 0'
30
+ spec.add_development_dependency 'bundler'
31
+ spec.add_development_dependency 'rake'
32
+ spec.add_development_dependency 'rspec'
33
+ spec.add_development_dependency 'pry-meta'
35
34
 
36
35
  spec.add_dependency 'bunny', '~> 2.7'
37
36
  end
data/examples/daemon.rb CHANGED
@@ -18,12 +18,19 @@ class CustomEventListener < EventBus::Listeners::Base
18
18
  bind :pay, 'resource.custom.pay'
19
19
  bind :receive, 'resource.custom.receive'
20
20
 
21
- def pay(event)
21
+ def pay(event, delivery_info)
22
22
  puts "Paid #{event.body['amount']} for #{event.body['name']} ~> #{event.name}"
23
+
24
+ channel.acknowledge(delivery_info.delivery_tag, false)
23
25
  end
24
26
 
25
- def receive(event)
26
- puts "Received #{event.body['amount']} from #{event.body['name']} ~> #{event.name}"
27
+ def receive(event, delivery_info)
28
+ if event.body['amount'] > 42
29
+ channel.acknowledge(delivery_info.delivery_tag, false)
30
+ puts "Received #{event.body['amount']} from #{event.body['name']} ~> #{event.name}"
31
+ else
32
+ puts "[consumer] Got SKIPPED message"
33
+ end
27
34
  end
28
35
  end
29
36
 
data/examples/listener.rb CHANGED
@@ -18,7 +18,7 @@ event_name = 'resource.origin.action'
18
18
 
19
19
  puts 'Start receiving messages'
20
20
 
21
- EventBus::Listener.on(event_name) do |event|
21
+ EventBus::Listener.on(event_name) do |event, _delivery_info|
22
22
  puts ""
23
23
  puts " - Received a message from #{event.name}:"
24
24
  puts " Message: #{event.body}"
@@ -14,7 +14,7 @@ module EventBus
14
14
 
15
15
  channel.queue(name, queue_options)
16
16
  .bind(topic, routing_key: routing_key)
17
- .subscribe do |delivery_info, properties, payload|
17
+ .subscribe(manual_ack: true) do |delivery_info, properties, payload|
18
18
  callback(delivery_info, properties, payload, &block)
19
19
  end
20
20
  end
@@ -28,7 +28,7 @@ module EventBus
28
28
 
29
29
  event = EventBus::Event.new(event_name, payload)
30
30
 
31
- block.call(event)
31
+ block.call(event, channel, delivery_info)
32
32
  end
33
33
 
34
34
  def topic
@@ -1,6 +1,12 @@
1
1
  module EventBus
2
2
  module Listeners
3
3
  class Base
4
+ attr_reader :channel
5
+
6
+ def initialize(channel)
7
+ @channel = channel
8
+ end
9
+
4
10
  def self.bind(method, event_name)
5
11
  Manager.register_listener_configuration({
6
12
  listener_class: self,
@@ -5,8 +5,8 @@ module EventBus
5
5
  class << self
6
6
  def bind_all_listeners
7
7
  listener_configurations.each do |config|
8
- EventBus::Listener.on(config[:routing_key]) do |event|
9
- config[:listener_class].new.send(config[:method], event)
8
+ EventBus::Listener.on(config[:routing_key]) do |event, channel, delivery_info|
9
+ config[:listener_class].new(channel).send(config[:method], event, delivery_info)
10
10
  end
11
11
  end
12
12
  end
@@ -1,3 +1,3 @@
1
1
  module EventBus
2
- VERSION = '1.1.0'
2
+ VERSION = '2.0.0'
3
3
  end
data/lib/event_bus_rb.rb CHANGED
@@ -1,8 +1,3 @@
1
- require 'dotenv'
2
-
3
- root = Dir.pwd
4
- Dotenv.load("#{root}/.env.local", "#{root}/.env.#{ENV['RACK_ENV']}", "#{root}/.env")
5
-
6
1
  require 'event_bus/version'
7
2
  require 'event_bus/daemon'
8
3
  require 'event_bus/event'
metadata CHANGED
@@ -1,83 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: event_bus_rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emprego Ligado
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-16 00:00:00.000000000 Z
11
+ date: 2017-09-05 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: '0'
20
20
  type: :development
21
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
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
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
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
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
56
  name: pry-meta
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: dotenv
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
66
+ - - ">="
81
67
  - !ruby/object:Gem::Version
82
68
  version: '0'
83
69
  - !ruby/object:Gem::Dependency
@@ -160,4 +146,3 @@ signing_key:
160
146
  specification_version: 4
161
147
  summary: Expose an api to produce and consume events.
162
148
  test_files: []
163
- has_rdoc: