Class: EventJob Abstract
- Inherits:
-
Hyrax::ApplicationJob
- Object
- ActiveJob::Base
- Hyrax::ApplicationJob
- EventJob
- Includes:
- ActionView::Helpers, HyraxHelper
- Defined in:
- app/jobs/event_job.rb
Overview
A generic job for sending events to a user.
Direct Known Subclasses
ContentDeleteEventJob, ContentEventJob, UserEditProfileEventJob
Constant Summary
Constants included from Hyrax::CitationsBehaviors::TitleBehavior
Hyrax::CitationsBehaviors::TitleBehavior::EXPANDED_NOCAPS, Hyrax::CitationsBehaviors::TitleBehavior::TITLE_NOCAPS
Instance Attribute Summary collapse
-
#depositor ⇒ Object
readonly
Returns the value of attribute depositor.
Instance Method Summary collapse
-
#action ⇒ Object
abstract
override to provide your specific action for the event you are logging.
-
#event ⇒ Object
create an event with an action and a timestamp for the user.
-
#log_user_event(depositor) ⇒ Object
log the event to the users event stream.
- #perform(depositor) ⇒ Object
Methods included from Hyrax::HyraxHelperBehavior
#available_translations, #banner_image, #collection_thumbnail, #current_search_parameters, #human_readable_date, #iconify_auto_link, #index_field_link, #license_links, #link_to_each_facet_field, #link_to_facet, #link_to_facet_list, #link_to_field, #link_to_profile, #link_to_telephone, #orcid_label, #render_notifications, #rights_statement_links, #search_form_action, #show_transfer_request_title, #user_display_name_and_key, #zotero_label, #zotero_profile_url
Methods included from Hyrax::DashboardHelperBehavior
#number_of_collections, #number_of_files, #number_of_works, #on_my_works?, #on_the_dashboard?
Methods included from Hyrax::ChartsHelper
Methods included from Hyrax::CollectionsHelper
#button_for_remove_from_collection, #button_for_remove_selected_from_collection, #has_collection_search_parameters?, #present_terms, #render_collection_links, #single_item_action_remove_form_fields
Methods included from Hyrax::LeaseHelper
#assets_under_lease, #assets_with_deactivated_leases, #assets_with_expired_leases
Methods included from Hyrax::EmbargoHelper
#assets_under_embargo, #assets_with_deactivated_embargoes, #assets_with_expired_embargoes
Methods included from Hyrax::AbilityHelper
#render_visibility_link, #visibility_badge, #visibility_options
Methods included from Hyrax::FileSetHelper
#media_display, #media_display_partial, #parent_path
Methods included from Hyrax::TitleHelper
#application_name, #construct_page_title, #curation_concern_page_title, #default_page_title
Methods included from Hyrax::CitationsBehavior
#export_as_apa_citation, #export_as_chicago_citation, #export_as_mla_citation, #export_as_openurl_ctx_kev
Methods included from Hyrax::CitationsBehaviors::TitleBehavior
#chicago_citation_title, #mla_citation_title, #process_title_parts, #setup_title_info
Methods included from Hyrax::CitationsBehaviors::CommonBehavior
#clean_end_punctuation, #persistent_url
Methods included from Hyrax::CitationsBehaviors::NameBehavior
#abbreviate_name, #all_authors, #author_list, #given_name_first, #surname_first
Methods included from Hyrax::CitationsBehaviors::PublicationBehavior
#setup_pub_date, #setup_pub_info, #setup_pub_place, #setup_pub_publisher
Methods included from Hyrax::BlacklightOverride
Instance Attribute Details
#depositor ⇒ Object (readonly)
Returns the value of attribute depositor.
12 13 14 |
# File 'app/jobs/event_job.rb', line 12 def depositor @depositor end |
Instance Method Details
#action ⇒ Object
override to provide your specific action for the event you are logging
23 24 25 |
# File 'app/jobs/event_job.rb', line 23 def action raise(NotImplementedError, "#action should be implemented by an child class of EventJob") end |
#event ⇒ Object
create an event with an action and a timestamp for the user
28 29 30 |
# File 'app/jobs/event_job.rb', line 28 def event @event ||= Hyrax::Event.create(action, Time.current.to_i) end |
#log_user_event(depositor) ⇒ Object
log the event to the users event stream
33 34 35 |
# File 'app/jobs/event_job.rb', line 33 def log_user_event(depositor) depositor.log_event(event) end |
#perform(depositor) ⇒ Object
15 16 17 18 19 |
# File 'app/jobs/event_job.rb', line 15 def perform(depositor) @depositor = depositor # Log the event to the depositor's profile stream log_user_event(depositor) end |