You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

37 lines
1003 B

class DocumentDoctrineShowComponent < BaseComponent
attr_reader :current_user, :document_id, :doctrine, :subjects
def initialize(current_user:, doctrine:, document_id:, subjects:, opts: {})
@doctrine = doctrine
@document_id = document_id
@current_user = current_user
@subjects = subjects
end
delegate :id, to: :doctrine
delegate :headnote, to: :doctrine
delegate :subject_ids, to: :doctrine
delegate :content, to: :doctrine
delegate :annotations, to: :doctrine
delegate :subjects, to: :doctrine
def annotation_form_url
doctrine_annotations_path(doctrine_id: id,)
end
def document_title(annotation)
return annotation.document.short_title if annotation.document.short_title.present?
annotation.document.title
end
def document
Document.find(document_id)
end
def date_or_year(annotation)
return annotation.document.docdate.to_date.strftime("%B %d, %Y") if annotation.document.docdate.present?
annotation.document.year
end
end