Class: ContentRestoredVersionEventJob
- Defined in:
- app/jobs/content_restored_version_event_job.rb
Instance Attribute Summary collapse
-
#revision_id ⇒ Object
Returns the value of attribute revision_id.
Attributes inherited from EventJob
#depositor_id, #generic_file_id
Instance Method Summary collapse
-
#initialize(generic_file_id, depositor_id, revision_id) ⇒ ContentRestoredVersionEventJob
constructor
A new instance of ContentRestoredVersionEventJob.
- #run ⇒ Object
Methods inherited from EventJob
Methods included from Sufia::SufiaHelperBehavior
#current_search_parameters, #display_user_name, #has_collection_search_parameters?, #iconify_auto_link, #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, #render_visibility_label, #render_visibility_link, #search_form_action, #sufia_thumbnail_tag
Methods included from Sufia::BlacklightOverride
#render_bookmarks_control?, #render_constraints_query, #url_for_document
Constructor Details
#initialize(generic_file_id, depositor_id, revision_id) ⇒ ContentRestoredVersionEventJob
Returns a new instance of ContentRestoredVersionEventJob.
4 5 6 7 8 |
# File 'app/jobs/content_restored_version_event_job.rb', line 4 def initialize(generic_file_id, depositor_id, revision_id) self.generic_file_id = generic_file_id self.depositor_id = depositor_id self.revision_id = revision_id end |
Instance Attribute Details
#revision_id ⇒ Object
Returns the value of attribute revision_id.
2 3 4 |
# File 'app/jobs/content_restored_version_event_job.rb', line 2 def revision_id @revision_id end |
Instance Method Details
#run ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'app/jobs/content_restored_version_event_job.rb', line 10 def run gf = GenericFile.find(generic_file_id) action = "User #{link_to_profile depositor_id} has restored a version '#{revision_id}' of #{link_to gf.title.first, Sufia::Engine.routes.url_helpers.generic_file_path(gf.noid)}" = Time.now.to_i depositor = User.find_by_user_key(depositor_id) # Create the event event = depositor.create_event(action, ) # Log the event to the depositor's profile stream depositor.log_profile_event(event) # Log the event to the GF's stream gf.log_event(event) # Fan out the event to all followers who have access depositor.followers.select { |user| user.can? :read, gf }.each do |follower| follower.log_event(event) end end |