manageiq-messaging 1.0.2 → 1.1.1
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 +4 -4
- data/.codeclimate.yml +25 -30
- data/.github/workflows/ci.yaml +36 -0
- data/.rspec +2 -1
- data/.rubocop.yml +2 -3
- data/.rubocop_cc.yml +3 -4
- data/.whitesource +3 -0
- data/CHANGELOG.md +78 -0
- data/Gemfile +7 -0
- data/README.md +14 -2
- data/lib/manageiq/messaging/client.rb +6 -4
- data/lib/manageiq/messaging/kafka/client.rb +13 -8
- data/lib/manageiq/messaging/kafka/common.rb +2 -5
- data/lib/manageiq/messaging/kafka/queue.rb +2 -2
- data/lib/manageiq/messaging/kafka/topic.rb +3 -2
- data/lib/manageiq/messaging/stomp/topic.rb +5 -1
- data/lib/manageiq/messaging/version.rb +1 -1
- data/lib/manageiq/messaging.rb +1 -0
- data/manageiq-messaging.gemspec +10 -6
- metadata +15 -25
- data/.travis.yml +0 -8
- data/CHANGES +0 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f305d2c3c254dc42831ab6d12154fa65edeedc3461fbf88bfa77166e68613702
|
4
|
+
data.tar.gz: 939165f57c4671312398de35cec92781d5f97a82c08a584e7a0da727e2ed2eca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14e817bf9ee97c577b866a49989b8041c96c8ec2f9949aace412c3065e5143f6bac18ffae0569b8ff87506dc33604349b2a79e4ed62edbf44820e7ebcae9bcfe
|
7
|
+
data.tar.gz: a8d5a83c36de5a9290573e893fcbd97468ef47700e96ec499cce1649e4dc68090a6d3fdb43acdf1a4a7b4ce62f8daa49f469db1b2f7b7be721e46122fda04f9b
|
data/.codeclimate.yml
CHANGED
@@ -1,18 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
-
|
4
|
-
|
5
|
-
-
|
6
|
-
|
7
|
-
-
|
8
|
-
|
9
|
-
-
|
10
|
-
|
1
|
+
prepare:
|
2
|
+
fetch:
|
3
|
+
- url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/.rubocop_base.yml
|
4
|
+
path: ".rubocop_base.yml"
|
5
|
+
- url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/.rubocop_cc_base.yml
|
6
|
+
path: ".rubocop_cc_base.yml"
|
7
|
+
- url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/styles/base.yml
|
8
|
+
path: styles/base.yml
|
9
|
+
- url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/styles/cc_base.yml
|
10
|
+
path: styles/cc_base.yml
|
11
|
+
plugins:
|
12
|
+
rubocop:
|
13
|
+
enabled: true
|
14
|
+
config: ".rubocop_cc.yml"
|
15
|
+
channel: rubocop-0-82
|
11
16
|
brakeman:
|
12
|
-
# very slow :sad_panda:
|
13
17
|
enabled: false
|
14
18
|
bundler-audit:
|
15
|
-
# requires Gemfile.lock
|
16
19
|
enabled: false
|
17
20
|
csslint:
|
18
21
|
enabled: false
|
@@ -24,25 +27,17 @@ engines:
|
|
24
27
|
- javascript
|
25
28
|
eslint:
|
26
29
|
enabled: false
|
27
|
-
channel:
|
30
|
+
channel: eslint-3
|
28
31
|
fixme:
|
29
|
-
# let's enable later
|
30
32
|
enabled: false
|
31
33
|
markdownlint:
|
32
|
-
# let's enable later
|
33
34
|
enabled: false
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
path: ".rubocop_cc_base.yml"
|
44
|
-
ratings:
|
45
|
-
paths:
|
46
|
-
- Gemfile.lock
|
47
|
-
- "**.rake"
|
48
|
-
- "**.rb"
|
35
|
+
exclude_patterns:
|
36
|
+
- ".git/"
|
37
|
+
- "**.xml"
|
38
|
+
- "**.yaml"
|
39
|
+
- "**.yml"
|
40
|
+
- locale/
|
41
|
+
- spec/
|
42
|
+
- tools/
|
43
|
+
version: '2'
|
@@ -0,0 +1,36 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
pull_request:
|
6
|
+
schedule:
|
7
|
+
- cron: '0 0 * * 0'
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
ci:
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
strategy:
|
13
|
+
matrix:
|
14
|
+
ruby-version:
|
15
|
+
- '2.6'
|
16
|
+
- '2.7'
|
17
|
+
- '3.0'
|
18
|
+
rails-version:
|
19
|
+
- '6.0'
|
20
|
+
- '6.1'
|
21
|
+
env:
|
22
|
+
TEST_RAILS_VERSION: ${{ matrix.rails-version }}
|
23
|
+
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
|
24
|
+
steps:
|
25
|
+
- uses: actions/checkout@v2
|
26
|
+
- name: Set up Ruby
|
27
|
+
uses: ruby/setup-ruby@v1
|
28
|
+
with:
|
29
|
+
ruby-version: ${{ matrix.ruby-version }}
|
30
|
+
bundler-cache: true
|
31
|
+
- name: Run tests
|
32
|
+
run: bundle exec rake
|
33
|
+
- name: Report code coverage
|
34
|
+
if: ${{ github.ref == 'refs/heads/master' && matrix.ruby-version == '3.0' && matrix.rails-version == '6.1' }}
|
35
|
+
continue-on-error: true
|
36
|
+
uses: paambaati/codeclimate-action@v3.0.0
|
data/.rspec
CHANGED
data/.rubocop.yml
CHANGED
data/.rubocop_cc.yml
CHANGED
data/.whitesource
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
# Change Log
|
2
|
+
All notable changes to this project will be documented in this file.
|
3
|
+
|
4
|
+
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
5
|
+
and this project adheres to [Semantic Versioning](http://semver.org/).
|
6
|
+
|
7
|
+
## [Unreleased]
|
8
|
+
|
9
|
+
## [1.1.1] - 6-May-2022
|
10
|
+
|
11
|
+
* Ruby 3.0 support [#71](https://github.com/ManageIQ/manageiq-messaging/pull/71)
|
12
|
+
|
13
|
+
## [1.1.0] - 09-Feb-2022
|
14
|
+
|
15
|
+
* Allow rails 6.1 [#66](https://github.com/ManageIQ/manageiq-messaging/pull/66)
|
16
|
+
|
17
|
+
## [1.0.3] - 12-May-2021
|
18
|
+
|
19
|
+
* Allow bulk publish of messages to a topic
|
20
|
+
|
21
|
+
## [1.0.2] - 4-Jan-2021
|
22
|
+
|
23
|
+
* Rails 6.0 Support
|
24
|
+
|
25
|
+
## [1.0.1] - 15-Dec-2020
|
26
|
+
|
27
|
+
* Allow all kafka options to be passed
|
28
|
+
* remove sudo:false from .travis.yml
|
29
|
+
* Use manageiq-style
|
30
|
+
|
31
|
+
## [1.0.0] - 28-Sep-2020
|
32
|
+
|
33
|
+
* Switch to use rdkafka client
|
34
|
+
|
35
|
+
## [0.1.7] - 14-May-2021
|
36
|
+
|
37
|
+
* Loosen ActiveSupport dependency to ~> 5.2
|
38
|
+
|
39
|
+
## [0.1.6] - 6-July-2020
|
40
|
+
|
41
|
+
* Rescue message body decoding errors. Re-raise errors raised by users code of processing received messages.
|
42
|
+
|
43
|
+
## [0.1.5] - 6-Jun-2019
|
44
|
+
|
45
|
+
* Allow caller to provide extra headers to the message
|
46
|
+
|
47
|
+
## [0.1.4] - 3-Apr-2019
|
48
|
+
|
49
|
+
* Add an #ack method to a ReceivedMessage to simplify manual acknowledgements
|
50
|
+
* Allow caller to provide a session_timeout to kafka consumers, default of 30sec
|
51
|
+
|
52
|
+
## [0.1.3] - 25-Feb-2019
|
53
|
+
|
54
|
+
## 0.1.2 - 11-Dec-2018
|
55
|
+
|
56
|
+
* Allow to set max_bytes to each_batch when subscribe to a Kafka topic.
|
57
|
+
|
58
|
+
## 0.1.1 - 20-Nov-2018
|
59
|
+
|
60
|
+
* By default upon receiving a message or an event, it is automatically acknowledged. But
|
61
|
+
the subscriber can decide to turn off the auto ack feature and ack it in the callback block.
|
62
|
+
|
63
|
+
## 0.1.0 - 4-Oct-2018
|
64
|
+
|
65
|
+
* Initial release
|
66
|
+
|
67
|
+
[Unreleased]: https://github.com/ManageIQ/manageiq-messaging/compare/v1.1.1...HEAD
|
68
|
+
[1.1.1]: https://github.com/ManageIQ/manageiq-messaging/compare/v1.1.0...v1.1.1
|
69
|
+
[1.1.0]: https://github.com/ManageIQ/manageiq-messaging/compare/v1.0.3...v1.1.0
|
70
|
+
[1.0.3]: https://github.com/ManageIQ/manageiq-messaging/compare/v1.0.2...v1.0.3
|
71
|
+
[1.0.2]: https://github.com/ManageIQ/manageiq-messaging/compare/v1.0.1...v1.0.2
|
72
|
+
[1.0.1]: https://github.com/ManageIQ/manageiq-messaging/compare/v1.0.0...v1.0.1
|
73
|
+
[1.0.0]: https://github.com/ManageIQ/manageiq-messaging/compare/v0.1.7...v1.0.0
|
74
|
+
[0.1.7]: https://github.com/ManageIQ/manageiq-messaging/compare/v0.1.6...v0.1.7
|
75
|
+
[0.1.6]: https://github.com/ManageIQ/manageiq-messaging/compare/v0.1.5...v0.1.6
|
76
|
+
[0.1.5]: https://github.com/ManageIQ/manageiq-messaging/compare/v0.1.4...v0.1.5
|
77
|
+
[0.1.4]: https://github.com/ManageIQ/manageiq-messaging/compare/v0.1.3...v0.1.4
|
78
|
+
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
# ManageIQ Messaging Client
|
2
2
|
|
3
3
|
[](http://badge.fury.io/rb/manageiq-messaging)
|
4
|
-
[](https://github.com/ManageIQ/manageiq-messaging/actions/workflows/ci.yaml)
|
5
5
|
[](https://codeclimate.com/github/ManageIQ/manageiq-messaging)
|
6
6
|
[](https://codeclimate.com/github/ManageIQ/manageiq-messaging/coverage)
|
7
|
-
[](https://hakiri.io/github/ManageIQ/manageiq-messaging/master)
|
8
7
|
|
9
8
|
Client library for ManageIQ components to exchange messages through its internal message bus.
|
10
9
|
|
@@ -155,6 +154,19 @@ This is the one-to-many publish/subscribe pattern. Multiple subscribers can subs
|
|
155
154
|
|
156
155
|
By default, events are delivered to live subscribers only. Some messaging systems support persistence with options.
|
157
156
|
|
157
|
+
### Publish bulk messages to a topic
|
158
|
+
|
159
|
+
Often it is more efficient to publish messages in bulk rather than one-at-a-time. To do this you can pass an array of messages to the `publish_topic` API:
|
160
|
+
|
161
|
+
```ruby
|
162
|
+
client.publish_topic(
|
163
|
+
[
|
164
|
+
{:service => 'provider_events', :event => 'powered_off', :payload => {:ems_ref => 'uid987', :timestamp => '1501091391'}},
|
165
|
+
{:service => 'provider_events', :event => 'powered_on', :payload => {:ems_ref => 'uid987', :timestamp => '1501091429'}},
|
166
|
+
]
|
167
|
+
)
|
168
|
+
```
|
169
|
+
|
158
170
|
### Add your own headers to a message (Queue or Topic)
|
159
171
|
|
160
172
|
If you want you can add in your own headers to the send message
|
@@ -161,7 +161,8 @@ module ManageIQ
|
|
161
161
|
end
|
162
162
|
|
163
163
|
# Publish a message as a topic. All subscribers will receive a copy of the message.
|
164
|
-
#
|
164
|
+
# +messages+ can be either a hash or an array of hashes.
|
165
|
+
# Expected keys are:
|
165
166
|
# * :service (service is used to determine the topic address)
|
166
167
|
# * :event (event name)
|
167
168
|
# * :payload (message body, a string or an user object that can be serialized)
|
@@ -169,10 +170,11 @@ module ManageIQ
|
|
169
170
|
# * :headers (optional, additional headers to add to the message)
|
170
171
|
# Other options are underlying messaging system specific.
|
171
172
|
#
|
172
|
-
def publish_topic(
|
173
|
-
|
173
|
+
def publish_topic(messages)
|
174
|
+
messages = Array.wrap(messages)
|
175
|
+
messages.each { |msg| assert_options(msg, [:event, :service]) }
|
174
176
|
|
175
|
-
publish_topic_impl(
|
177
|
+
publish_topic_impl(messages)
|
176
178
|
end
|
177
179
|
|
178
180
|
# Subscribe to receive topic type messages.
|
@@ -76,18 +76,23 @@ module ManageIQ
|
|
76
76
|
attr_reader :kafka_client
|
77
77
|
|
78
78
|
def initialize(options)
|
79
|
-
hosts = Array(options[:hosts] || options[:host])
|
80
|
-
hosts.collect! { |host| "#{host}:#{options[:port]}" }
|
81
|
-
|
82
79
|
@encoding = options[:encoding] || 'yaml'
|
83
80
|
require "json" if @encoding == "json"
|
84
81
|
|
85
|
-
connection_opts = {:"bootstrap.servers" => hosts.join(',')}
|
86
|
-
connection_opts[:"client.id"] = options[:client_ref] if options[:client_ref]
|
87
|
-
connection_opts.merge!(options.except(:port, :host, :hosts, :encoding, :protocol, :client_ref))
|
88
|
-
|
89
82
|
::Rdkafka::Config.logger = logger
|
90
|
-
@kafka_client = ::Rdkafka::Config.new(
|
83
|
+
@kafka_client = ::Rdkafka::Config.new(rdkafka_connection_opts(options))
|
84
|
+
end
|
85
|
+
|
86
|
+
def rdkafka_connection_opts(options)
|
87
|
+
hosts = Array(options[:hosts] || options[:host])
|
88
|
+
hosts.collect! { |host| "#{host}:#{options[:port]}" }
|
89
|
+
|
90
|
+
result = {:"bootstrap.servers" => hosts.join(',')}
|
91
|
+
result[:"client.id"] = options[:client_ref] if options[:client_ref]
|
92
|
+
result[:"sasl.username"] = options[:username] if options[:username]
|
93
|
+
result[:"sasl.password"] = options[:password] if options[:password]
|
94
|
+
|
95
|
+
result.merge(options.except(:port, :host, :hosts, :encoding, :protocol, :client_ref, :username, :password))
|
91
96
|
end
|
92
97
|
end
|
93
98
|
end
|
@@ -21,12 +21,9 @@ module ManageIQ
|
|
21
21
|
@consumer = kafka_client.consumer
|
22
22
|
end
|
23
23
|
|
24
|
-
def raw_publish(
|
24
|
+
def raw_publish(body, options)
|
25
25
|
options[:payload] = encode_body(options[:headers], body)
|
26
|
-
producer.produce(options)
|
27
|
-
handle.wait if wait
|
28
|
-
logger.info("Published to topic(#{options[:topic]}), msg(#{payload_log(body.inspect)})")
|
29
|
-
end
|
26
|
+
producer.produce(options)
|
30
27
|
end
|
31
28
|
|
32
29
|
def queue_for_publish(options)
|
@@ -8,11 +8,11 @@ module ManageIQ
|
|
8
8
|
|
9
9
|
def publish_message_impl(options)
|
10
10
|
raise ArgumentError, "Kafka messaging implementation does not take a block" if block_given?
|
11
|
-
raw_publish(
|
11
|
+
raw_publish(*queue_for_publish(options)).wait
|
12
12
|
end
|
13
13
|
|
14
14
|
def publish_messages_impl(messages)
|
15
|
-
handles = messages.collect { |msg_options| raw_publish(
|
15
|
+
handles = messages.collect { |msg_options| raw_publish(*queue_for_publish(msg_options)) }
|
16
16
|
handles.each(&:wait)
|
17
17
|
end
|
18
18
|
|
@@ -8,8 +8,9 @@ module ManageIQ
|
|
8
8
|
|
9
9
|
private
|
10
10
|
|
11
|
-
def publish_topic_impl(
|
12
|
-
raw_publish(
|
11
|
+
def publish_topic_impl(messages)
|
12
|
+
handles = messages.collect { |message| raw_publish(*topic_for_publish(message)) }
|
13
|
+
handles.each(&:wait)
|
13
14
|
end
|
14
15
|
|
15
16
|
def subscribe_topic_impl(options, &block)
|
@@ -4,7 +4,7 @@ module ManageIQ
|
|
4
4
|
module Topic
|
5
5
|
private
|
6
6
|
|
7
|
-
def
|
7
|
+
def publish_topic_single(options)
|
8
8
|
address, headers = topic_for_publish(options)
|
9
9
|
headers[:sender] = options[:sender] if options[:sender]
|
10
10
|
headers[:event_type] = options[:event] if options[:event]
|
@@ -12,6 +12,10 @@ module ManageIQ
|
|
12
12
|
raw_publish(address, options[:payload], headers)
|
13
13
|
end
|
14
14
|
|
15
|
+
def publish_topic_impl(messages)
|
16
|
+
messages.each { |message| publish_topic_single(message) }
|
17
|
+
end
|
18
|
+
|
15
19
|
def subscribe_topic_impl(options)
|
16
20
|
queue_name, headers = topic_for_subscribe(options)
|
17
21
|
|
data/lib/manageiq/messaging.rb
CHANGED
data/manageiq-messaging.gemspec
CHANGED
@@ -11,24 +11,28 @@ Gem::Specification.new do |spec|
|
|
11
11
|
|
12
12
|
spec.summary = 'Client library for ManageIQ components to exchange messages through its internal message bus.'
|
13
13
|
spec.description = 'Client library for ManageIQ components to exchange messages through its internal message bus.'
|
14
|
-
spec.homepage = '
|
14
|
+
spec.homepage = 'https://github.com/ManageIQ/manageiq-messaging'
|
15
15
|
spec.license = 'MIT'
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
18
|
f.match(%r{^(test|spec|features)/})
|
19
19
|
end
|
20
|
+
spec.metadata = {
|
21
|
+
"changelog_uri" => "https://github.com/ManageIQ/manageiq-messaging/blob/master/CHANGELOG.md",
|
22
|
+
"source_code_uri" => "https://github.com/ManageIQ/manageiq-messaging/",
|
23
|
+
"bug_tracker_uri" => "https://github.com/ManageIQ/manageiq-messaging/issues"
|
24
|
+
}
|
20
25
|
spec.bindir = "exe"
|
21
26
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
27
|
spec.require_paths = ["lib"]
|
23
28
|
|
24
|
-
spec.add_dependency 'activesupport', '>= 5.2.4.3', "<
|
29
|
+
spec.add_dependency 'activesupport', '>= 5.2.4.3', "< 7.0"
|
25
30
|
spec.add_dependency 'rdkafka', '~> 0.8'
|
26
31
|
spec.add_dependency 'stomp', '~> 1.4.4'
|
27
32
|
|
28
33
|
spec.add_development_dependency "bundler"
|
29
|
-
spec.add_development_dependency "codeclimate-test-reporter", "~> 1.0.0"
|
30
34
|
spec.add_development_dependency "manageiq-style"
|
31
|
-
spec.add_development_dependency "rake",
|
32
|
-
spec.add_development_dependency "rspec",
|
33
|
-
spec.add_development_dependency "simplecov"
|
35
|
+
spec.add_development_dependency "rake", ">= 12.3.3"
|
36
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
37
|
+
spec.add_development_dependency "simplecov", ">= 0.21.2"
|
34
38
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: manageiq-messaging
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ManageIQ Authors
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: 5.2.4.3
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
22
|
+
version: '7.0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: 5.2.4.3
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
32
|
+
version: '7.0'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: rdkafka
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,20 +72,6 @@ dependencies:
|
|
72
72
|
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: codeclimate-test-reporter
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
78
|
-
requirements:
|
79
|
-
- - "~>"
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: 1.0.0
|
82
|
-
type: :development
|
83
|
-
prerelease: false
|
84
|
-
version_requirements: !ruby/object:Gem::Requirement
|
85
|
-
requirements:
|
86
|
-
- - "~>"
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: 1.0.0
|
89
75
|
- !ruby/object:Gem::Dependency
|
90
76
|
name: manageiq-style
|
91
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -134,14 +120,14 @@ dependencies:
|
|
134
120
|
requirements:
|
135
121
|
- - ">="
|
136
122
|
- !ruby/object:Gem::Version
|
137
|
-
version:
|
123
|
+
version: 0.21.2
|
138
124
|
type: :development
|
139
125
|
prerelease: false
|
140
126
|
version_requirements: !ruby/object:Gem::Requirement
|
141
127
|
requirements:
|
142
128
|
- - ">="
|
143
129
|
- !ruby/object:Gem::Version
|
144
|
-
version:
|
130
|
+
version: 0.21.2
|
145
131
|
description: Client library for ManageIQ components to exchange messages through its
|
146
132
|
internal message bus.
|
147
133
|
email:
|
@@ -150,13 +136,14 @@ extensions: []
|
|
150
136
|
extra_rdoc_files: []
|
151
137
|
files:
|
152
138
|
- ".codeclimate.yml"
|
139
|
+
- ".github/workflows/ci.yaml"
|
153
140
|
- ".gitignore"
|
154
141
|
- ".rspec"
|
155
142
|
- ".rubocop.yml"
|
156
143
|
- ".rubocop_cc.yml"
|
157
144
|
- ".rubocop_local.yml"
|
158
|
-
- ".
|
159
|
-
-
|
145
|
+
- ".whitesource"
|
146
|
+
- CHANGELOG.md
|
160
147
|
- CODE_OF_CONDUCT.md
|
161
148
|
- Gemfile
|
162
149
|
- LICENSE.txt
|
@@ -188,10 +175,13 @@ files:
|
|
188
175
|
- lib/manageiq/messaging/stomp/topic.rb
|
189
176
|
- lib/manageiq/messaging/version.rb
|
190
177
|
- manageiq-messaging.gemspec
|
191
|
-
homepage:
|
178
|
+
homepage: https://github.com/ManageIQ/manageiq-messaging
|
192
179
|
licenses:
|
193
180
|
- MIT
|
194
|
-
metadata:
|
181
|
+
metadata:
|
182
|
+
changelog_uri: https://github.com/ManageIQ/manageiq-messaging/blob/master/CHANGELOG.md
|
183
|
+
source_code_uri: https://github.com/ManageIQ/manageiq-messaging/
|
184
|
+
bug_tracker_uri: https://github.com/ManageIQ/manageiq-messaging/issues
|
195
185
|
post_install_message:
|
196
186
|
rdoc_options: []
|
197
187
|
require_paths:
|
@@ -207,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
207
197
|
- !ruby/object:Gem::Version
|
208
198
|
version: '0'
|
209
199
|
requirements: []
|
210
|
-
rubygems_version: 3.
|
200
|
+
rubygems_version: 3.3.5
|
211
201
|
signing_key:
|
212
202
|
specification_version: 4
|
213
203
|
summary: Client library for ManageIQ components to exchange messages through its internal
|
data/.travis.yml
DELETED
data/CHANGES
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
= 0.1.0 - 4-Oct-2018
|
2
|
-
* Initial release
|
3
|
-
|
4
|
-
= 0.1.1 - 20-Nov-2018
|
5
|
-
* By default upon receiving a message or an event, it is automatically acknowledged. But
|
6
|
-
the subscriber can decide to turn off the auto ack feature and ack it in the callback block.
|
7
|
-
|
8
|
-
= 0.1.2 - 11-Dec-2018
|
9
|
-
* Allow to set max_bytes to each_batch when subscribe to a Kafka topic.
|
10
|
-
|
11
|
-
= 0.1.4 - 3-Apr-2019
|
12
|
-
* Add an #ack method to a ReceivedMessage to simplify manual acknowledgements
|
13
|
-
* Allow caller to provide a session_timeout to kafka consumers, default of 30sec
|
14
|
-
|
15
|
-
= 0.1.5 - 6-Jun-2019
|
16
|
-
* Allow caller to provide extra headers to the message
|
17
|
-
|
18
|
-
= 0.1.6 - 6-July-2020
|
19
|
-
* Rescue message body decoding errors. Re-raise errors raised by users code of processing received messages.
|
20
|
-
|
21
|
-
= 1.0.0 - 28-Sep-2020
|
22
|
-
* Switch to use rdkafka client
|
23
|
-
|
24
|
-
= 1.0.1 - 15-Dec-2020
|
25
|
-
* Allow all kafka options to be passed
|
26
|
-
* remove sudo:false from .travis.yml
|
27
|
-
* Use manageiq-style
|
28
|
-
|
29
|
-
= 1.0.2 - 4-Jan-2021
|
30
|
-
* Rails 6.0 Support
|