Class: EventJob Abstract
- Inherits:
-
Hyrax::ApplicationJob
- Object
- ApplicationJob
- 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 Use Hyrax time service!.
-
#log_user_event(depositor) ⇒ void
log the event to the users event stream.
- #perform(depositor) ⇒ Object
Methods included from Hyrax::HyraxHelperBehavior
#available_translations, #available_user_groups, #banner_image, #collection_thumbnail, #collection_title_by_id, #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, #suppressed_to_status, #thumbnail_label_for, #user_display_name_and_key, #zotero_label, #zotero_profile_url
Methods included from Hyrax::WorkflowsHelper
Methods included from Hyrax::WorkFormHelper
#admin_set_options, #form_file_set_select_for, #form_progress_sections_for, #form_tab_label_for, #form_tabs_for
Methods included from Hyrax::PermissionLevelsHelper
#configured_owner_permission_levels, #configured_permission_levels, #configured_permission_options
Methods included from Hyrax::MembershipHelper
#member_of_collections_json, #work_members_json
Methods included from Hyrax::IiifHelper
#iiif_viewer_display, #iiif_viewer_display_partial, #universal_viewer_base_url, #universal_viewer_config_url
Methods included from Hyrax::DashboardHelperBehavior
#number_of_collections, #number_of_files, #number_of_works, #on_the_dashboard?
Methods included from Hyrax::ChartsHelper
Methods included from Hyrax::CollectionsHelper
#append_collection_type_url, #available_child_collections, #available_parent_collections_data, #button_for_remove_from_collection, #button_for_remove_selected_from_collection, #collection_brandable?, #collection_discoverable?, #collection_member_sort_fields, #collection_metadata_label, #collection_metadata_value, #collection_permission_template_form_for, #collection_search_parameters?, #collection_sharable?, #collection_type_label, #collection_type_label_for, #has_collection_search_parameters?, #present_terms, #render_collection_links, #render_other_collection_links, #single_item_action_remove_form_fields
Methods included from Hyrax::LeaseHelper
#assets_under_lease, #assets_with_deactivated_leases, #assets_with_expired_leases, #lease_enforced?, #lease_history
Methods included from Hyrax::EmbargoHelper
#assets_under_embargo, #assets_with_deactivated_embargoes, #assets_with_expired_embargoes, #embargo_enforced?, #embargo_history
Methods included from Hyrax::AbilityHelper
#render_visibility_link, #visibility_badge, #visibility_options
Methods included from Hyrax::FileSetHelper
#display_media_download_link?, #media_display, #media_display_partial, #parent_path
Methods included from Hyrax::TitleHelper
#application_name, #construct_page_title, #curation_concern_page_title, #default_page_title, #title_presenter
Methods included from Hyrax::ContactFormHelper
#contact_form_issue_type_options
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.
13 14 15 |
# File 'app/jobs/event_job.rb', line 13 def depositor @depositor end |
Instance Method Details
#action ⇒ Object
override to provide your specific action for the event you are logging
27 28 29 |
# File 'app/jobs/event_job.rb', line 27 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 Use Hyrax time service!
33 34 35 |
# File 'app/jobs/event_job.rb', line 33 def event @event ||= Hyrax::Event.create_now(action) end |
#log_user_event(depositor) ⇒ void
This method returns an undefined value.
log the event to the users event stream
42 43 44 |
# File 'app/jobs/event_job.rb', line 42 def log_user_event(depositor) depositor.log_event(event) end |
#perform(depositor) ⇒ Object
17 18 19 20 21 |
# File 'app/jobs/event_job.rb', line 17 def perform(depositor) @depositor = depositor # Log the event to the depositor's profile stream log_user_event(depositor) end |