basquiat 1.5.2 → 1.6.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
  SHA256:
3
- metadata.gz: d676a22e2dc2573579c054bb1f9d73d3f50d3aabc691677cd1f8f3fc172cfe52
4
- data.tar.gz: 9b6f15e3423ceec75af0b3e2c48392894a565a86208b47543e662c40e73895f0
3
+ metadata.gz: fc27c1c985d61c6612a636891ee1e1007d281aecc1b57cf5df37fed3427c0b2c
4
+ data.tar.gz: 67232d9a873b73787a8dd27e49d43f47eba67b5dd6f6b3d5c732aede3abf5c46
5
5
  SHA512:
6
- metadata.gz: 296c9dffc33f7e0ac028e49a7ce45d4327bd86be73d0d0874fc9f79e09ec61faba41b820c7c66f01ae254a1b71d22904552d2ce13a9347b5a7c06484b69f732d
7
- data.tar.gz: ebfb803b004406fc604a9ae45c51fa920c75d770f14de80718190a830db7806128dbe0e2b617d9dd2b6b40e58e0a8b12aa29b874dd314fd0096ced139005c172
6
+ metadata.gz: 7aceb6a7d73c8e260af5fad4ed7c639e937d164380d5d6b68c90c5319fe49cf8367dea5c72338f27dfef5d015a9dd3ea191b62c4f8fa580c2e8a876e9fe46737
7
+ data.tar.gz: 50f2ffa465e84819c6053f8304b520e2891fdacd3de142f01e59b84231a3fbfc1ca40d384325a1c7c7343ba13fb50cf961f608e8bdbd20fdbe16f38679d1a890
data/README.md CHANGED
@@ -101,9 +101,12 @@ development: #full example of the RabbitMq option
101
101
  hosts:
102
102
  - 'localhost'
103
103
  port: 5672
104
+ vhost: '/'
104
105
  auth:
105
106
  user: 'guest'
106
107
  password: 'guest'
108
+ tls_options:
109
+ tls: false
107
110
  publisher:
108
111
  confirm: true
109
112
  persistent: true
@@ -7,6 +7,12 @@ module Basquiat
7
7
  class Connection < SimpleDelegator
8
8
  # @param hosts: [Array<String>] IPs or FQDN of the RabbitMQ instances
9
9
  # @param port [Fixnum] Port that the RabbitMQ instances run
10
+ # @param vhost [String] Virtual host
11
+ # @option tls_options [Boolean] :tls when set to true, will set SSL context up and switch to TLS port (5671)
12
+ # @option tls_options [String] :tls_cert string path to the client certificate (public key) in PEM format
13
+ # @option tls_options [String] :tls_key string path to the client key (private key) in PEM format
14
+ # @option tls_options [Array<String>] :tls_ca_certificates array of string paths to CA certificates in PEM format
15
+ # @option tls_options [Boolean] :verify_peer determines if TLS peer authentication (verification) is performed, true by default
10
16
  # @option failover: [Fixnum|Symbol] :heartbeat (:server) Heartbeat timeout to offer to the server
11
17
  # @option failover: [Fixnum] :max_retries (5) Maximum number of reconnection retries
12
18
  # @option failover: [Fixnum] :default_timeout (5) Interval between to reconnect attempts
@@ -15,11 +21,13 @@ module Basquiat
15
21
  # @option failover: [Fixnum] :write_timeout (30) TCP socket write timeout in seconds
16
22
  # @option auth: [String] :user ('guest')
17
23
  # @option auth: [String] :password ('guest')
18
- def initialize(hosts:, port: 5672, failover: {}, auth: {})
19
- @hosts = hosts
20
- @port = port
21
- @failover = failover
22
- @auth = auth
24
+ def initialize(hosts:, port: 5672, vhost: '/', tls_options: {}, failover: {}, auth: {})
25
+ @hosts = hosts
26
+ @port = port
27
+ @vhost = vhost
28
+ @tls_options = tls_options
29
+ @failover = failover
30
+ @auth = auth
23
31
  end
24
32
 
25
33
  # Creates a channel
@@ -55,10 +63,10 @@ module Basquiat
55
63
  __setobj__(nil)
56
64
  end
57
65
 
58
- def connection
59
- @connection ||= Basquiat.configuration.connection || Bunny.new(
60
- hosts: @hosts,
66
+ def configuration
67
+ { hosts: @hosts,
61
68
  port: @port,
69
+ vhost: @vhost,
62
70
  username: @auth.fetch(:user, 'guest'),
63
71
  password: @auth.fetch(:password, 'guest'),
64
72
  heartbeat: @failover.fetch(:heartbeat, :server),
@@ -67,7 +75,12 @@ module Basquiat
67
75
  connection_timeout: @failover.fetch(:connection_timeout, 5),
68
76
  read_timeout: @failover.fetch(:read_timeout, 30),
69
77
  write_timeout: @failover.fetch(:write_timeout, 30),
70
- logger: Basquiat.logger
78
+ logger: Basquiat.logger }.merge(@tls_options)
79
+ end
80
+
81
+ def connection
82
+ @connection ||= Basquiat.configuration.connection || Bunny.new(
83
+ configuration
71
84
  )
72
85
  __setobj__(@connection)
73
86
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Version file
4
4
  module Basquiat
5
- VERSION = '1.5.2'
5
+ VERSION = '1.6.0'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: basquiat
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcello "mereghost" Rocha
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-09-03 00:00:00.000000000 Z
12
+ date: 2019-07-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -266,7 +266,7 @@ dependencies:
266
266
  description: 'Basquiat is a library that intends to abstract all the complexity of
267
267
  working with message queues
268
268
 
269
- '
269
+ '
270
270
  email:
271
271
  - marcello.rocha@gmail.com.br
272
272
  - dadario@gmail.com
@@ -348,8 +348,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
348
348
  - !ruby/object:Gem::Version
349
349
  version: '0'
350
350
  requirements: []
351
- rubyforge_project:
352
- rubygems_version: 2.7.6
351
+ rubygems_version: 3.0.4
353
352
  signing_key:
354
353
  specification_version: 4
355
354
  summary: A pluggable library that aims to hide message queue complexity