messaging-adapter 1.0.6 → 1.0.7

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: 5c2dec583c312d39a8b1576b630713dc3c437a23
4
- data.tar.gz: a0d6c9eff0c8121b7bc17abd427c4096b1941a13
3
+ metadata.gz: 1921ca8d41d072562f3ab6e308d47b2c977bbd40
4
+ data.tar.gz: 8bc7c59595789439cff189d73b443f7967cceda8
5
5
  SHA512:
6
- metadata.gz: 5834124a249b35ff6c4445441104f4520d39728c4f5b50c15c0acf73fda21cf50c6d333965a9ce8d9f425276e703cee3e8cbc75a59996da66cfdcb3f1f4085ba
7
- data.tar.gz: 0b6fa1c849cb4d4d15c5de6afff10a580d1a306aa2ab6be479b25780b5d33a4afd08b04af8f4f08c7734d443615b6f82d26f6fd8ec598ac34b1b6d9c859628b0
6
+ metadata.gz: bb4e8a5f861fa7c2af4934ee2fc816d6bca3c695036cca5a08c56b05d05643df78ee6523ed52ad625fa01020b03ccb00cb8e421542f8754db64f9523c02628d8
7
+ data.tar.gz: f8d7f58f064b379d6caa60f890c98479a8b08e7cfcfa421bbeff5ed70b74409bc73dc63e9638372f8360f3769c9d63b8b8804100ddf8725b30ba60a0187caed5
@@ -12,12 +12,12 @@ module MessagingAdapter
12
12
  @adapter = MessageBrokerAdapter.const_get(adapter.to_s)
13
13
  end
14
14
 
15
- def publish(topic, payload)
16
- @adapter.publish(topic, payload)
15
+ def publish(topic, payload, options = {})
16
+ @adapter.publish(topic, payload, options)
17
17
  end
18
18
 
19
- def subscribe(topic)
20
- @adapter.subscribe(topic) { |payload| yield(payload) }
19
+ def subscribe(topic, options = {})
20
+ @adapter.subscribe(topic, options) { |payload| yield(payload) }
21
21
  end
22
22
 
23
23
  def self.available_adapters
@@ -3,12 +3,14 @@
3
3
  module MessageBrokerAdapter
4
4
  # Adapter implements Apache Kafka
5
5
  class Kafka
6
- def self.publish(topic, payload)
6
+ def self.publish(topic, payload, options = {})
7
7
  puts "Not implemented yet!! publish{#{topic} [#{payload}]}"
8
+ puts options
8
9
  end
9
10
 
10
- def self.subscribe(topic)
11
+ def self.subscribe(topic, options = {})
11
12
  puts "Not implemented yet!! subscribe{#{topic}}"
13
+ puts options
12
14
  end
13
15
  end
14
16
  end
@@ -20,17 +20,24 @@ module MessageBrokerAdapter
20
20
  attr_reader :sub_channel_locker
21
21
  end
22
22
 
23
- def self.publish(topic, payload)
24
- exchange = publisher_channel.fanout(topic)
25
- exchange.publish(payload.to_json)
23
+ def self.publish(topic, payload, options = {})
24
+ if options[:direct_to_q] == true
25
+ q = publisher_channel.queue(topic, passive: true)
26
+ q.publish(payload.to_json)
27
+ else
28
+ exchange = publisher_channel.fanout(topic, passive: true)
29
+ exchange.publish(payload.to_json)
30
+ end
26
31
 
27
32
  puts '- RMQ: Message published successfully on topic ' \
28
33
  "#{topic} [#{payload}]"
29
34
  end
30
35
 
31
- def self.subscribe(queue)
32
- q = subscriber_channel.queue(queue, durable: true)
33
- q.subscribe(block: blocking_subscriber?) do |_delivery_info, _properties, payload|
36
+ def self.subscribe(queue, options = {})
37
+ q = subscriber_channel.queue(queue, passive: true)
38
+ options[:block] ||= options[:block].nil? ? true : options[:block]
39
+ puts options[:block]
40
+ q.subscribe(block: options[:block]) do |delivery_info, _properties, payload|
34
41
  yield(payload)
35
42
  end
36
43
 
@@ -42,14 +49,11 @@ module MessageBrokerAdapter
42
49
  host: ENV['MessageBroker_Host'] || 'localhost',
43
50
  port: ENV['MessageBroker_Port'] || '5672',
44
51
  username: ENV['MessageBroker_User'] || 'guest',
45
- password: ENV['MessageBroker_Pass'] || 'guest'
52
+ password: ENV['MessageBroker_Pass'] || 'guest',
53
+ vhost: ENV['MessageBroker_RabbitMQ_Vhost'] || '/'
46
54
  }
47
55
  end
48
56
 
49
- def self.blocking_subscriber?
50
- (ENV['MessageBroker_RabbitMQ_Block'] || 'true') == 'true'
51
- end
52
-
53
57
  def self.recover_connection(conn, locker)
54
58
  locker.synchronize { conn.start } unless conn.open?
55
59
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: messaging-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ayyoub Jadoo @ TAM
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '2.1'
33
+ version: '1.8'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '2.1'
40
+ version: '1.8'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bunny
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '2.1'
61
+ version: '1.8'
62
62
  type: :development
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: '2.1'
68
+ version: '1.8'
69
69
  description: Makes it easy to pub/sup with many message brokers.
70
70
  email: ayyoubjadoo@gmail.com
71
71
  executables: []