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