Class: ContentEventJob
- Defined in:
- app/jobs/content_event_job.rb
Overview
A generic job for sending events about a generic files to a user and their followers.
Direct Known Subclasses
ContentDepositEventJob, ContentDepositorChangeEventJob, ContentNewVersionEventJob, ContentRestoredVersionEventJob, ContentUpdateEventJob
Instance Attribute Summary collapse
-
#generic_file_id ⇒ String
the id of the file the event is specified for.
Attributes inherited from EventJob
Instance Method Summary collapse
- #generic_file ⇒ Object
-
#initialize(generic_file_id, depositor_id) ⇒ ContentEventJob
constructor
A new instance of ContentEventJob.
-
#log_generic_file_event ⇒ Object
Log the event to the GF’s stream.
-
#log_to_followers ⇒ Object
override to check file permissions before logging to followers.
-
#log_user_event ⇒ Object
log the event to the users profile stream.
- #run ⇒ Object
Methods inherited from EventJob
#action, #depositor, #event, #queue_name
Methods included from Sufia::SufiaHelperBehavior
#current_search_parameters, #display_user_name, #error_messages_for, #has_collection_search_parameters?, #iconify_auto_link, #iconify_link, #is_url?, #link_back_to_dashboard, #link_to_dashboard_query, #link_to_facet, #link_to_facet_list, #link_to_field, #link_to_profile, #link_to_telephone, #linkify_chat_id, #number_of_deposits, #orcid_label, #render_visibility_label, #render_visibility_link, #search_form_action, #show_transfer_request_title, #sufia_thumbnail_tag, #user_display_name_and_key, #zotero_label, #zotero_profile_url
Methods included from Sufia::BlacklightOverride
#render_bookmarks_control?, #render_constraints_query, #url_for_document
Constructor Details
#initialize(generic_file_id, depositor_id) ⇒ ContentEventJob
Returns a new instance of ContentEventJob.
8 9 10 11 |
# File 'app/jobs/content_event_job.rb', line 8 def initialize(generic_file_id, depositor_id) super(depositor_id) @generic_file_id = generic_file_id end |
Instance Attribute Details
#generic_file_id ⇒ String
the id of the file the event is specified for
5 6 7 |
# File 'app/jobs/content_event_job.rb', line 5 def generic_file_id @generic_file_id end |
Instance Method Details
#generic_file ⇒ Object
19 20 21 |
# File 'app/jobs/content_event_job.rb', line 19 def generic_file @generic_file ||= GenericFile.load_instance_from_solr(generic_file_id) end |
#log_generic_file_event ⇒ Object
Log the event to the GF’s stream
24 25 26 |
# File 'app/jobs/content_event_job.rb', line 24 def log_generic_file_event generic_file.log_event(event) unless generic_file.nil? end |
#log_to_followers ⇒ Object
override to check file permissions before logging to followers
29 30 31 32 33 |
# File 'app/jobs/content_event_job.rb', line 29 def log_to_followers depositor.followers.select { |user| user.can?(:read, generic_file) }.each do |follower| follower.log_event(event) end end |
#log_user_event ⇒ Object
log the event to the users profile stream
36 37 38 |
# File 'app/jobs/content_event_job.rb', line 36 def log_user_event depositor.log_profile_event(event) end |
#run ⇒ Object
13 14 15 16 17 |
# File 'app/jobs/content_event_job.rb', line 13 def run super log_generic_file_event end |