Skip to content

Commit 157eb63

Browse files
committed
Try to make work with later rubies.
1 parent 97db7a6 commit 157eb63

File tree

9 files changed

+97
-88
lines changed

9 files changed

+97
-88
lines changed

.github/workflows/rspec.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
uses: actions/cache@v4
1212
with:
1313
path: vendor/bundle
14-
key: ${{ runner.os }}-3.2.1-event_source-gems-${{ hashFiles('**/Gemfile.lock') }}-${{ hashFiles('**/Gemfile' ) }}
14+
key: ${{ runner.os }}-3.2.1-event_source-gems-${{ hashFiles('**/event_source.gemspec') }}-${{ hashFiles('**/Gemfile' ) }}
1515
- name: bundle install
1616
run: |
1717
bundle config path vendor/bundle
@@ -39,7 +39,7 @@ jobs:
3939
uses: actions/cache@v4
4040
with:
4141
path: vendor/bundle
42-
key: ${{ runner.os }}-${{matrix.ruby_version}}-event_source-gems-${{ hashFiles('**/Gemfile.lock') }}-${{ hashFiles('**/Gemfile' ) }}
42+
key: ${{ runner.os }}-${{matrix.ruby_version}}-event_source-gems-${{ hashFiles('**/event_source.gemspec') }}-${{ hashFiles('**/Gemfile' ) }}
4343
- name: bundle install
4444
run: |
4545
bundle config path vendor/bundle
@@ -68,7 +68,7 @@ jobs:
6868
uses: actions/cache@v4
6969
with:
7070
path: vendor/bundle
71-
key: ${{ runner.os }}-${{matrix.ruby_version}}-event_source-gems-${{ hashFiles('**/Gemfile.lock') }}-${{ hashFiles('**/Gemfile' ) }}
71+
key: ${{ runner.os }}-${{matrix.ruby_version}}-event_source-gems-${{ hashFiles('**/event_source.gemspec') }}-${{ hashFiles('**/Gemfile' ) }}
7272
- name: bundle install
7373
run: |
7474
bundle config path vendor/bundle

event_source.gemspec

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,10 @@ Gem::Specification.new do |spec|
4444
spec.add_dependency 'dry-initializer', '~> 3.0'
4545
spec.add_dependency 'dry-monads', '~> 1.3'
4646
spec.add_dependency 'dry-struct', '~> 1.4'
47-
spec.add_dependency 'dry-types', '~> 1.5'
48-
spec.add_dependency 'dry-validation', '~> 1.6'
49-
spec.add_dependency 'dry-schema', '~> 1.6'
47+
spec.add_dependency 'dry-types', '~> 1.5', '< 1.6'
48+
spec.add_dependency 'dry-validation', '~> 1.6', '< 1.8'
49+
spec.add_dependency 'dry-schema', '~> 1.6', '< 1.10'
50+
spec.add_dependency 'dry-logic', '< 1.3'
5051
spec.add_dependency 'faraday', '~> 1.4.1'
5152
spec.add_dependency 'faraday_middleware', '~> 1.0'
5253
spec.add_dependency 'logging', '~> 2.3.0'
Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
# frozen_string_literal: true
22

3-
module Organizations
4-
class UpdateFeinContract < Dry::Validation::Contract
3+
module Parties
4+
module Organization
5+
class UpdateFeinContract < Dry::Validation::Contract
56

6-
params do
7+
params do
78

8-
required(:hbx_id).filled(:string)
9-
required(:fein).filled(:string)
10-
required(:meta).maybe(:hash)
11-
optional(:event_stream).maybe(:array)
9+
required(:hbx_id).filled(:string)
10+
required(:fein).filled(:string)
11+
required(:meta).maybe(:hash)
12+
optional(:event_stream).maybe(:array)
1213

14+
end
1315
end
1416
end
1517
end
Lines changed: 52 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,69 @@
11
# frozen_string_literal: true
22

3-
module Parties
4-
# < EventSource::Adapter
5-
class DryEventAdapter
3+
module Adapters
4+
module Parties
5+
# < EventSource::Adapter
6+
class DryEventAdapter
67

7-
# EventSource.config do |config|
8-
# config.event_root
9-
# config.adapter
10-
# end
8+
# EventSource.config do |config|
9+
# config.event_root
10+
# config.adapter
11+
# end
1112

12-
def enabled!
13-
# require 'dry_events'
13+
def enabled!
14+
# require 'dry_events'
1415

15-
# event_source_root = Rails.root.join('app', 'event_source')
16-
# publishers_dir = event_source_root.join('publishers')
17-
# Dir[publishers_dir.join('parties', '*.rb')].each {|file| require file }
18-
# EventSource::Publisher.register_publishers(publishers_dir)
16+
# event_source_root = Rails.root.join('app', 'event_source')
17+
# publishers_dir = event_source_root.join('publishers')
18+
# Dir[publishers_dir.join('parties', '*.rb')].each {|file| require file }
19+
# EventSource::Publisher.register_publishers(publishers_dir)
1920

20-
# require 'active_support/notifications'
21-
# called the first time we know we are using this adapter
22-
# it would be a good spot to require the libraries you're using
23-
# and modify EventSource::Worker as needed
24-
# raise NotImplementedError
25-
end
21+
# require 'active_support/notifications'
22+
# called the first time we know we are using this adapter
23+
# it would be a good spot to require the libraries you're using
24+
# and modify EventSource::Worker as needed
25+
# raise NotImplementedError
26+
end
2627

27-
# example event 'ea.person.created'
28-
def enqueue(event)
29-
publisher = event.publisher_class
30-
publisher.publish(event.event_key, event.payload)
31-
# ActiveSupport::Notifications.instrument event.payload[:metadata][:event_key], event.payload
32-
end
28+
# example event 'ea.person.created'
29+
def enqueue(event)
30+
publisher = event.publisher_class
31+
publisher.publish(event.event_key, event.payload)
32+
# ActiveSupport::Notifications.instrument event.payload[:metadata][:event_key], event.payload
33+
end
3334

34-
def dequeue(queue, event_name, subscriber, block)
35-
publisher = publisher_by(queue)
35+
def dequeue(queue, event_name, subscriber, block)
36+
publisher = publisher_by(queue)
3637

37-
if block.present?
38-
publisher.subscribe(event_name) do |event|
39-
block.call(event)
38+
if block.present?
39+
publisher.subscribe(event_name) do |event|
40+
block.call(event)
41+
end
42+
else
43+
subscribe_listener(queue, subscriber)
4044
end
41-
else
42-
subscribe_listener(queue, subscriber)
43-
end
4445

45-
# ActiveSupport::Notifications.subscribe(key) do |name, started, finished, unique_id, data|
46-
# block.call(data)
47-
# end
48-
end
46+
# ActiveSupport::Notifications.subscribe(key) do |name, started, finished, unique_id, data|
47+
# block.call(data)
48+
# end
49+
end
4950

50-
def subscribe_listener(queue, subscriber)
51-
publisher = publisher_by(queue)
52-
publisher.subscribe(subscriber)
53-
end
51+
def subscribe_listener(queue, subscriber)
52+
publisher = publisher_by(queue)
53+
publisher.subscribe(subscriber)
54+
end
5455

55-
# def dequeue(queue, key, matcher_hash, block)
56-
# # ActiveSupport::Notifications.subscribe(key) do |name, started, finished, unique_id, data|
57-
# # block.call(data)
58-
# # end
59-
# end
56+
# def dequeue(queue, key, matcher_hash, block)
57+
# # ActiveSupport::Notifications.subscribe(key) do |name, started, finished, unique_id, data|
58+
# # block.call(data)
59+
# # end
60+
# end
6061

61-
def publisher_by(queue)
62-
pub_key_parts = queue.split('.')
63-
pub_const = pub_key_parts.map(&:upcase).join('_')
64-
pub_const.constantize
62+
def publisher_by(queue)
63+
pub_key_parts = queue.split('.')
64+
pub_const = pub_key_parts.map(&:upcase).join('_')
65+
pub_const.constantize
66+
end
6567
end
6668
end
6769
end

spec/rails_app/app/event_source/events/signup_notifiation.rb renamed to spec/rails_app/app/event_source/events/signup_notification.rb

File renamed without changes.

spec/rails_app/app/event_source/publishers/parties/organization_publisher.rb

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
# frozen_string_literal: true
22

3-
module Parties
4-
class OrganizationPublisher
5-
# include ::EventSource::Publisher[amqp: 'enroll.parties.organizations.fein_corrected']
3+
module Publishers
4+
module Parties
5+
class OrganizationPublisher
6+
# include ::EventSource::Publisher[amqp: 'enroll.parties.organizations.fein_corrected']
67

7-
# register_event 'fein_corrected'
8-
# # register_event 'created'
8+
# register_event 'fein_corrected'
9+
# # register_event 'created'
10+
end
911
end
1012
end
11-
Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
11
# frozen_string_literal: true
22

3-
class DeterminationSubscriber
4-
include EventSource::Logging
5-
include ::EventSource::Subscriber[amqp: 'magi_medicaid.mitc.eligibilities']
3+
module Subscribers
4+
class DeterminationSubscriber
5+
include EventSource::Logging
6+
include ::EventSource::Subscriber[amqp: 'magi_medicaid.mitc.eligibilities']
67

7-
subscribe(
8-
:on_enroll_magi_medicaid_mitc_eligibilities
9-
) do |delivery_info, _metadata, _payload|
10-
logger.debug "invoked on_enroll_magi_medicaid_mitc_eligibilities with #{delivery_info}"
11-
end
8+
subscribe(
9+
:on_enroll_magi_medicaid_mitc_eligibilities
10+
) do |delivery_info, _metadata, _payload|
11+
logger.debug "invoked on_enroll_magi_medicaid_mitc_eligibilities with #{delivery_info}"
12+
end
1213

13-
subscribe(
14-
:on_determined_aqhp_eligible
15-
) do |delivery_info, _metadata, _payload|
16-
logger.debug "invoked on_determined_aqhp_eligible with #{delivery_info}"
17-
end
14+
subscribe(
15+
:on_determined_aqhp_eligible
16+
) do |delivery_info, _metadata, _payload|
17+
logger.debug "invoked on_determined_aqhp_eligible with #{delivery_info}"
18+
end
1819

19-
subscribe(
20-
:on_determined_uqhp_eligible
21-
) do |delivery_info, _metadata, _payload|
22-
logger.debug "invoked on_determined_uqhp_eligible with #{delivery_info}"
20+
subscribe(
21+
:on_determined_uqhp_eligible
22+
) do |delivery_info, _metadata, _payload|
23+
logger.debug "invoked on_determined_uqhp_eligible with #{delivery_info}"
24+
end
2325
end
2426
end

spec/rails_app/config/application.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
require "rails"
66
require "active_job/railtie"
7+
require "action_controller/railtie"
78

89
Bundler.require(*Rails.groups)
910

spec/rails_app/spec/determination_subscriber_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
require_relative './rails_helper'
44
require "event_source/rspec/event_routing_matchers"
55

6-
RSpec.describe DeterminationSubscriber do
6+
RSpec.describe Subscribers::DeterminationSubscriber do
77
it "correctly routes a 'magi_medicaid.mitc.eligibilities', :on_determined_aqhp_eligible message" do
88
expect([:amqp, 'magi_medicaid.mitc.eligibilities', 'determined_aqhp_eligible']).to route_to_subscription(
9-
DeterminationSubscriber,
9+
Subscribers::DeterminationSubscriber,
1010
:on_determined_aqhp_eligible
1111
)
1212
end

0 commit comments

Comments
 (0)