mumukit-nuntius 2.1.1 → 2.2.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.
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