Class: CocinaDisplay::Events::Imprint

Inherits:
Event
  • Object
show all
Defined in:
lib/cocina_display/events/imprint.rb

Overview

An imprint statement associated with an object.

Instance Attribute Summary

Attributes inherited from Event

#cocina

Instance Method Summary collapse

Methods inherited from Event

#<=>, #contributors, #date_types, #dates, #has_any_type?, #has_type?, #imprint?, #initialize, #locations, #notes, #type, #types

Constructor Details

This class inherits a constructor from CocinaDisplay::Events::Event

Instance Method Details

#labelString

Imprints are labelled “Imprint” unless overridden by a displayLabel.

Returns:

  • (String)


7
8
9
# File 'lib/cocina_display/events/imprint.rb', line 7

def label
  cocina["displayLabel"].presence || "Imprint"
end

#to_sString

Imprint statement for a book, formatted using typical conventions.

Examples:

“2nd ed. - New York : John Doe, 1999”

Returns:

  • (String)


14
15
16
17
18
# File 'lib/cocina_display/events/imprint.rb', line 14

def to_s
  place_contrib = Utils.compact_and_join([place_str, contributor_str], delimiter: " : ")
  note_place_contrib = Utils.compact_and_join([edition_note_str, place_contrib], delimiter: " - ")
  Utils.compact_and_join([note_place_contrib, date_str, copyright_note_str], delimiter: ", ")
end