Class: Sufia::FileSetPresenter

Inherits:
CurationConcerns::FileSetPresenter
  • Object
show all
Includes:
WithEvents
Defined in:
app/presenters/sufia/file_set_presenter.rb

Instance Method Summary collapse

Methods included from WithEvents

#event_store, #log_event, #stream

Instance Method Details

#audit_serviceObject



60
61
62
# File 'app/presenters/sufia/file_set_presenter.rb', line 60

def audit_service
  @audit_service ||= CurationConcerns::FileSetAuditService.new(id)
end

#audit_statusObject



47
48
49
# File 'app/presenters/sufia/file_set_presenter.rb', line 47

def audit_status
  audit_service.logged_audit_status
end

#editor?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'app/presenters/sufia/file_set_presenter.rb', line 16

def editor?
  current_ability.can?(:edit, solr_document)
end

#event_classObject

This overrides the method in WithEvents



43
44
45
# File 'app/presenters/sufia/file_set_presenter.rb', line 43

def event_class
  solr_document.to_model.model_name.name
end

#events(size = 100) ⇒ Object



38
39
40
# File 'app/presenters/sufia/file_set_presenter.rb', line 38

def events(size = 100)
  super(size)
end


12
13
14
# File 'app/presenters/sufia/file_set_presenter.rb', line 12

def link_name
  current_ability.can?(:read, id) ? page_title : 'File'
end

#page_titleObject



8
9
10
# File 'app/presenters/sufia/file_set_presenter.rb', line 8

def page_title
  title.first
end

#parentObject



51
52
53
54
55
56
57
58
# File 'app/presenters/sufia/file_set_presenter.rb', line 51

def parent
  ids = ActiveFedora::SolrService.query("{!field f=member_ids_ssim}#{id}",
                                        fl: ActiveFedora.id_field)
                                 .map { |x| x.fetch(ActiveFedora.id_field) }
  @parent_presenter ||= CurationConcerns::PresenterFactory.build_presenters(ids,
                                                                            WorkShowPresenter,
                                                                            current_ability).first
end

#rightsObject



29
30
31
32
# File 'app/presenters/sufia/file_set_presenter.rb', line 29

def rights
  return if solr_document.rights.nil?
  solr_document.rights.first
end

#stats_pathObject



34
35
36
# File 'app/presenters/sufia/file_set_presenter.rb', line 34

def stats_path
  Sufia::Engine.routes.url_helpers.stats_file_path(self)
end

#tweeterObject



20
21
22
23
24
25
26
27
# File 'app/presenters/sufia/file_set_presenter.rb', line 20

def tweeter
  user = ::User.find_by_user_key(depositor)
  if user.try(:twitter_handle).present?
    "@#{user.twitter_handle}"
  else
    I18n.translate('sufia.product_twitter_handle')
  end
end