mumukit-nuntius 2.1.1 → 2.2.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: 631b1a56823a7ccf85d2b811838832f44b75e961
4
- data.tar.gz: 9ce9b4d77f9f5f3e8929a5c81ab0f45435d31bb1
3
+ metadata.gz: 33fe9c17b07c6ecb0448c6801931db56e2888b93
4
+ data.tar.gz: 0e6f2cc0bc155a4d4a89856cc712872c7deb488a
5
5
  SHA512:
6
- metadata.gz: ab9d4105761b671b67e4398a39ff9a1f617451d7fb6415dcd61920c035bee47f485b43ff84af60108ca0d790bd2e5a740cd02ad81a049b8bb511e6c8a0e24a8d
7
- data.tar.gz: d8c9b9278b0f7732ab27f1ad550a854b58a72a888fd9ef552f6aa2cfdf35df6580044a44dc6bc84a6237c99171e914604dcc3ac26fbab0672ac0382519bca382
6
+ metadata.gz: abb65da0c0e1d064641772eabba73137d8d389da5d70e53f37eb7c3728b6b9ff612ad9dddcffb38360af892217414826f87c6473afc434832c97543ce02d5430
7
+ data.tar.gz: 9fff016bb3e11d44c41c5b7959d1feb292ca2aeb49c133af7e3726cc2810301372b3a32691094745ab1790710adb160d445ac2bdc48c5323c39b4c4ef02dc74d
@@ -1,4 +1,4 @@
1
- require 'active_support/all'
1
+ require 'mumukit/core'
2
2
 
3
3
  require 'bunny'
4
4
  require 'logger'
@@ -23,17 +23,22 @@ module Mumukit::Nuntius::Consumer
23
23
  def subscribe(queue, channel, &block)
24
24
  Mumukit::Nuntius::Logger.debug "Subscribed to queue #{queue}"
25
25
 
26
- queue.subscribe(:manual_ack => true, :block => true) do |delivery_info, properties, body|
26
+ queue.subscribe(manual_ack: true, block: true) do |delivery_info, properties, body|
27
27
  Mumukit::Nuntius::Logger.debug "Processing message #{body}"
28
-
29
- begin
30
- block.call delivery_info, properties, JSON.parse(body)
31
- channel.ack(delivery_info.delivery_tag)
32
- rescue => e
33
- Mumukit::Nuntius::Logger.warn "Failed to read body: #{e.message} \n #{e.backtrace}"
34
- channel.nack(delivery_info.delivery_tag, false, true)
35
- end
28
+ handle_message channel, delivery_info, properties, body, &block
36
29
  end
37
30
  end
31
+
32
+ def handle_message(channel, delivery_info, properties, body, &block)
33
+ block.call delivery_info, properties, parse_body(body)
34
+ channel.ack delivery_info.delivery_tag
35
+ rescue => e
36
+ Mumukit::Nuntius::Logger.warn "Failed to read body: #{e.message} \n #{e.backtrace}"
37
+ channel.nack delivery_info.delivery_tag, false, true
38
+ end
39
+
40
+ def parse_body(body)
41
+ JSON.parse(body).with_indifferent_access
42
+ end
38
43
  end
39
44
  end
@@ -4,19 +4,22 @@ module Mumukit::Nuntius::EventConsumer
4
4
 
5
5
  def start(name)
6
6
  Mumukit::Nuntius::Consumer.start "#{name}-events", 'events' do |_delivery_info, properties, body|
7
- next if body['sender'] == Mumukit::Nuntius.config.app_name
8
- begin
9
- choose_event(name, properties).execute!(body['data'])
10
- rescue NoMethodError => e
11
- log_exception(name, properties, e)
12
- rescue NameError => e
13
- log_unkown_event(name, properties)
14
- rescue => e
15
- log_exception(name, properties, e)
16
- end
7
+ handle_event(name, properties, body)
17
8
  end
18
9
  end
19
10
 
11
+ def handle_event(name, properties, body)
12
+ return if body[:sender] == Mumukit::Nuntius.config.app_name
13
+
14
+ choose_event(name, properties).execute!(body[:data])
15
+ rescue NoMethodError => e
16
+ log_exception(name, properties, e)
17
+ rescue NameError => e
18
+ log_unknown_event(name, properties)
19
+ rescue => e
20
+ log_exception(name, properties, e)
21
+ end
22
+
20
23
  def choose_event(name, properties)
21
24
  event_name(name, properties).constantize
22
25
  end
@@ -25,7 +28,7 @@ module Mumukit::Nuntius::EventConsumer
25
28
  "#{name.capitalize}::Event::#{properties[:type]}"
26
29
  end
27
30
 
28
- def log_unkown_event(name, properties)
31
+ def log_unknown_event(name, properties)
29
32
  Mumukit::Nuntius::Logger.error "#{event_name(name, properties)} does not exists."
30
33
  end
31
34
 
@@ -1,5 +1,5 @@
1
1
  module Mumukit
2
2
  module Nuntius
3
- VERSION = '2.1.1'
3
+ VERSION = '2.2.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mumukit-nuntius
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Agustin Pina
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-26 00:00:00.000000000 Z
11
+ date: 2016-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '2'
47
+ version: '3'
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
- version: '2'
54
+ version: '3'
55
55
  - !ruby/object:Gem::Dependency
56
- name: activesupport
56
+ name: mumukit-core
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '4.1'
61
+ version: '0.2'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '4.1'
68
+ version: '0.2'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bunny
71
71
  requirement: !ruby/object:Gem::Requirement