File tree Expand file tree Collapse file tree 3 files changed +36
-10
lines changed Expand file tree Collapse file tree 3 files changed +36
-10
lines changed Original file line number Diff line number Diff line change 1
1
# frozen_string_literal: true
2
2
3
- Hyrax . publisher . subscribe ( Hyrax ::Listeners ::AclIndexListener . new )
4
3
Hyrax . publisher . subscribe ( Hyrax ::Listeners ::ActiveFedoraAclIndexListener . new ) unless Hyrax . config . disable_wings
5
- Hyrax . publisher . subscribe ( Hyrax ::Listeners ::BatchNotificationListener . new )
6
- Hyrax . publisher . subscribe ( Hyrax ::Listeners ::FileMetadataListener . new )
7
- Hyrax . publisher . subscribe ( Hyrax ::Listeners ::FileSetLifecycleListener . new )
8
- Hyrax . publisher . subscribe ( Hyrax ::Listeners ::FileSetLifecycleNotificationListener . new )
9
- Hyrax . publisher . subscribe ( Hyrax ::Listeners ::MemberCleanupListener . new )
10
- Hyrax . publisher . subscribe ( Hyrax ::Listeners ::MetadataIndexListener . new )
11
- Hyrax . publisher . subscribe ( Hyrax ::Listeners ::ObjectLifecycleListener . new )
12
- Hyrax . publisher . subscribe ( Hyrax ::Listeners ::TrophyCleanupListener . new )
13
- Hyrax . publisher . subscribe ( Hyrax ::Listeners ::WorkflowListener . new )
4
+
5
+ Hyrax . publisher . default_listeners . each do |listener |
6
+ Hyrax . publisher . subscribe ( listener )
7
+ end
14
8
15
9
# Publish events from old style Hyrax::Callbacks to trigger the listeners
16
10
# When callbacks are removed and replaced with direct event publication, drop these blocks
Original file line number Diff line number Diff line change @@ -194,5 +194,21 @@ class Publisher
194
194
# @since 3.2.0
195
195
# @macro a_registered_event
196
196
register_event ( 'object.file.uploaded' )
197
+
198
+ ##
199
+ # @return Array[Object] the listeners Hyrax subscribes by default.
200
+ def default_listeners
201
+ @default_listeners ||=
202
+ [ Hyrax ::Listeners ::AclIndexListener . new ,
203
+ Hyrax ::Listeners ::BatchNotificationListener . new ,
204
+ Hyrax ::Listeners ::FileMetadataListener . new ,
205
+ Hyrax ::Listeners ::FileSetLifecycleListener . new ,
206
+ Hyrax ::Listeners ::FileSetLifecycleNotificationListener . new ,
207
+ Hyrax ::Listeners ::MemberCleanupListener . new ,
208
+ Hyrax ::Listeners ::MetadataIndexListener . new ,
209
+ Hyrax ::Listeners ::ObjectLifecycleListener . new ,
210
+ Hyrax ::Listeners ::TrophyCleanupListener . new ,
211
+ Hyrax ::Listeners ::WorkflowListener . new ] . freeze
212
+ end
197
213
end
198
214
end
Original file line number Diff line number Diff line change
1
+ # frozen_string_literal: true
2
+
3
+ RSpec . describe Hyrax ::Publisher do
4
+ subject ( :publisher ) { described_class . instance } # singleton instance
5
+
6
+ describe "#default_listeners" do
7
+ it "returns a collection of listeners" do
8
+ # listeners can be any Object, so we can't verify they are valid here
9
+ expect ( publisher . default_listeners ) . to be_a Enumerable
10
+ end
11
+
12
+ it "returns the same collection on successive calls" do
13
+ expect ( publisher . default_listeners ) . to eql publisher . default_listeners
14
+ end
15
+ end
16
+ end
You can’t perform that action at this time.
0 commit comments