omnes 0.2.1 → 0.2.3

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
  SHA256:
3
- metadata.gz: eb5f0bfcfdcbaffdfe41c807db505023e8bb84cacdb56378a0851b9effdd51c1
4
- data.tar.gz: 4b2bb740f6525c96651912a88f7738b04ceeca699a4af7b3f883f68a3e60eb55
3
+ metadata.gz: edb52f5c0143df22dfd182bd32238a5a72534f7379c2a33977ad7831c998afc7
4
+ data.tar.gz: a641c5b3ac027a2a3a753a00b8410c86973ffd97f988c37210f38f36d40d895e
5
5
  SHA512:
6
- metadata.gz: 55b5fe1e1bc4fd5cd10e6683ff7539be5dec727f4399758d7fcfe3fd3d485d30fe4d99e8c2f1354bf1aef28f3efffd991573a89d827edf3839827c6fcfcd71d8
7
- data.tar.gz: cc1c6c69c4e98442abad019ffac4dfa56221924182fd041d9830d7c72660eec09b4173c812e90969fb49f28cd7968acaeb91ab89c94bb8a9efb96e3bbe5626e7
6
+ metadata.gz: befa2311126f0e8141c2ff00dbc9a29a61b77ee912720c0a9a31fdb487c6baaea4553cdbeab0a566fd16eaca2191ebeaf08cd52b8a12c7536e565aff7137cf84
7
+ data.tar.gz: d623ec5752e2c9821db13b67e889bc1c542210fcf05aadbd32401e5effa860d8b4763c2b4f1ee732458e61c263201cba155ca00e5938bb74c38ba865e7e6750e
@@ -12,7 +12,7 @@ jobs:
12
12
  strategy:
13
13
  fail-fast: false
14
14
  matrix:
15
- ruby-version: ['2.7', '3.0', '3.1']
15
+ ruby-version: ['3.1', '3.2', '4.0']
16
16
 
17
17
  steps:
18
18
  - name: Checkout repository
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.7
2
+ TargetRubyVersion: 3.0
3
3
  NewCops: enable
4
4
  SuggestExtensions: false
5
5
 
@@ -29,7 +29,7 @@ Layout/LineLength:
29
29
  Max: 120
30
30
 
31
31
  Naming/MethodName:
32
- IgnoredPatterns:
32
+ AllowedPatterns:
33
33
  - '.*Type'
34
34
 
35
35
  Lint/ConstantDefinitionInBlock:
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 4.0.1
data/CHANGELOG.md CHANGED
@@ -4,7 +4,27 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
- ## Unreleased
7
+ ## [Unreleased]
8
+
9
+ ## [0.2.3] - 2026-02-06
10
+
11
+ ### Added
12
+ - Add Ruby 3.2 to the test matrix [#7](https://github.com/nebulab/omnes/pull/7).
13
+ - Add benchmark and `ostruct` dependencies [#11](https://github.com/nebulab/omnes/pull/11).
14
+
15
+ ### Changed
16
+ - Update Ruby versions under test (Ruby 4 compatibility) [#11](https://github.com/nebulab/omnes/pull/11).
17
+ - Stop supporting old Rubies [#9](https://github.com/nebulab/omnes/pull/9).
18
+
19
+ ### Fixed
20
+ - Fix RuboCop linting violation [#12](https://github.com/nebulab/omnes/pull/12).
21
+ - Fix Style/RedundantConstantBase violations [#7](https://github.com/nebulab/omnes/pull/7).
22
+ - Correct README example [#8](https://github.com/nebulab/omnes/pull/8).
23
+
24
+ ## [0.2.2] - 2022-05-03
25
+
26
+ ### Added
27
+ - Support Ruby 2.5 & 2.6 [#6](https://github.com/nebulab/omnes/pull/6).
8
28
 
9
29
  ## [0.2.1] - 2022-04-19
10
30
 
@@ -23,7 +43,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
23
43
 
24
44
  ## [0.1.0] - 2022-03-23
25
45
 
26
- [Unreleased]: https://github.com/nebulab/omnes/compare/v0.2.1...HEAD
46
+ [Unreleased]: https://github.com/nebulab/omnes/compare/v0.2.3...HEAD
47
+ [0.2.3]: https://github.com/nebulab/omnes/compare/v0.2.2...v0.2.3
48
+ [0.2.2]: https://github.com/nebulab/omnes/compare/v0.2.1...v0.2.2
27
49
  [0.2.1]: https://github.com/nebulab/omnes/compare/v0.2.0...v0.2.1
28
50
  [0.2.0]: https://github.com/nebulab/omnes/compare/v0.1.0...v0.2.0
29
51
  [0.1.0]: https://github.com/nebulab/omnes/releases/tag/v0.1.0
data/Gemfile CHANGED
@@ -5,6 +5,10 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in omnes.gemspec
6
6
  gemspec
7
7
 
8
+ gem "activejob"
8
9
  gem "rake", "~> 12.0"
10
+ gem "redcarpet", "~> 3.5"
9
11
  gem "rspec", "~> 3.0"
10
12
  gem "rubocop", "~> 1.25", require: false
13
+ gem "sidekiq", "~> 6.4"
14
+ gem "yard", "~> 0.9"
data/README.md CHANGED
@@ -162,7 +162,7 @@ class LogEventsSubscription
162
162
  end
163
163
 
164
164
  def call(event)
165
- logger.info("Event #{event.name} published")
165
+ logger.info("Event #{event.omnes_event_name} published")
166
166
  end
167
167
  end
168
168
 
@@ -176,7 +176,7 @@ Custom event matchers can be defined. A matcher is something responding to
176
176
  to match or ignore the event.
177
177
 
178
178
  ```ruby
179
- ORDER_EVENTS_MATCHER = ->(event) { event.name.start_with?(:order) }
179
+ ORDER_EVENTS_MATCHER = ->(event) { event.omnes_event_name.start_with?(:order) }
180
180
 
181
181
  bus.subscribe_with_matcher(ORDER_EVENTS_MATCHER) do |event|
182
182
  # ...
@@ -196,7 +196,7 @@ identifier needs to be a `Symbol`:
196
196
 
197
197
  ```ruby
198
198
  bus.subscribe(:order_created, OrderCreationEmailSubscription.new, id: :order_created_email)
199
- subscription = bus.subscription(:send_confirmation_email)
199
+ subscription = bus.subscription(:order_created_email)
200
200
  ```
201
201
 
202
202
  ## Event subscribers
@@ -246,7 +246,7 @@ class LogEventsSubscriber
246
246
  end
247
247
 
248
248
  def log_event(event)
249
- logger.info("Event #{event.name} published")
249
+ logger.info("Event #{event.omnes_event_name} published")
250
250
  end
251
251
  end
252
252
  ```
data/lib/omnes/errors.rb CHANGED
@@ -18,7 +18,7 @@ module Omnes
18
18
  def default_message
19
19
  <<~MSG
20
20
  '#{event_name}' event is not registered.
21
- #{suggestions_message}
21
+ #{suggestions_message if defined?(DidYouMean::PlainFormatter)}
22
22
 
23
23
  All known events are:
24
24
 
@@ -182,7 +182,7 @@ module Omnes
182
182
  # @raise [Omnes::Subscriber::DuplicateSubscriptionAttemptError] when
183
183
  # trying to subscribe to the same event with the same method more than once
184
184
  def subscribe_to(bus)
185
- self.class.instance_variable_get(:@_state).public_send(:call, bus, self)
185
+ self.class.instance_variable_get(:@_state).(bus, self)
186
186
  end
187
187
  end
188
188
 
data/lib/omnes/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Omnes
4
- VERSION = "0.2.1"
4
+ VERSION = "0.2.3"
5
5
  end
data/omnes.gemspec CHANGED
@@ -17,7 +17,10 @@ Gem::Specification.new do |spec|
17
17
  MSG
18
18
  spec.homepage = "https://github.com/nebulab/omnes"
19
19
  spec.license = "MIT"
20
- spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
20
+ spec.required_ruby_version = Gem::Requirement.new(">= 3.0.0")
21
+
22
+ spec.add_dependency "benchmark"
23
+ spec.add_dependency "ostruct"
21
24
 
22
25
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
23
26
 
@@ -35,9 +38,4 @@ Gem::Specification.new do |spec|
35
38
  spec.bindir = "exe"
36
39
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
37
40
  spec.require_paths = ["lib"]
38
-
39
- spec.add_development_dependency "activejob", "~> 7.0"
40
- spec.add_development_dependency "redcarpet", "~> 3.5"
41
- spec.add_development_dependency "sidekiq", "~> 6.4"
42
- spec.add_development_dependency "yard", "~> 0.9"
43
41
  end
metadata CHANGED
@@ -1,71 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omnes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marc Busqué
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-19 00:00:00.000000000 Z
11
+ date: 2026-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: activejob
14
+ name: benchmark
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '7.0'
20
- type: :development
19
+ version: '0'
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '7.0'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: redcarpet
28
+ name: ostruct
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '3.5'
34
- type: :development
33
+ version: '0'
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: '3.5'
41
- - !ruby/object:Gem::Dependency
42
- name: sidekiq
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '6.4'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '6.4'
55
- - !ruby/object:Gem::Dependency
56
- name: yard
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '0.9'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '0.9'
40
+ version: '0'
69
41
  description: |
70
42
  Omnes is a Ruby library implementing the publish-subscribe pattern. This
71
43
  pattern allows senders of messages to be decoupled from their receivers. An
@@ -82,6 +54,7 @@ files:
82
54
  - ".gitignore"
83
55
  - ".rspec"
84
56
  - ".rubocop.yml"
57
+ - ".ruby-version"
85
58
  - ".travis.yml"
86
59
  - ".yardopts"
87
60
  - CHANGELOG.md
@@ -122,7 +95,7 @@ metadata:
122
95
  source_code_uri: https://github.com/nebulab/omnes
123
96
  changelog_uri: https://github.com/nebulab/omnes/CHANGELOG.md
124
97
  rubygems_mfa_required: 'true'
125
- post_install_message:
98
+ post_install_message:
126
99
  rdoc_options: []
127
100
  require_paths:
128
101
  - lib
@@ -130,15 +103,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
130
103
  requirements:
131
104
  - - ">="
132
105
  - !ruby/object:Gem::Version
133
- version: 2.7.0
106
+ version: 3.0.0
134
107
  required_rubygems_version: !ruby/object:Gem::Requirement
135
108
  requirements:
136
109
  - - ">="
137
110
  - !ruby/object:Gem::Version
138
111
  version: '0'
139
112
  requirements: []
140
- rubygems_version: 3.1.2
141
- signing_key:
113
+ rubygems_version: 3.5.16
114
+ signing_key:
142
115
  specification_version: 4
143
116
  summary: Pub/Sub for ruby
144
117
  test_files: []