messaging-adapter 1.0.6 → 1.0.7

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: 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: []