Class: Hyrax::CitationsBehaviors::Formatters::ApaFormatter
- Inherits:
-
BaseFormatter
- Object
- BaseFormatter
- Hyrax::CitationsBehaviors::Formatters::ApaFormatter
- Includes:
- PublicationBehavior, TitleBehavior
- Defined in:
- app/helpers/hyrax/citations_behaviors/formatters/apa_formatter.rb
Constant Summary
Constants included from TitleBehavior
TitleBehavior::EXPANDED_NOCAPS, TitleBehavior::TITLE_NOCAPS
Instance Attribute Summary
Attributes inherited from BaseFormatter
Instance Method Summary collapse
- #format(work) ⇒ Object
- #format_authors(authors_list = []) ⇒ Object
- #format_date(pub_date) ⇒ Object
- #format_title(title_info) ⇒ Object
Methods included from TitleBehavior
#chicago_citation_title, #mla_citation_title, #process_title_parts, #setup_title_info
Methods included from CommonBehavior
#clean_end_punctuation, #persistent_url
Methods included from PublicationBehavior
#setup_pub_date, #setup_pub_info, #setup_pub_place, #setup_pub_publisher
Methods inherited from BaseFormatter
Methods included from NameBehavior
#abbreviate_name, #all_authors, #author_list, #given_name_first, #surname_first
Constructor Details
This class inherits a constructor from Hyrax::CitationsBehaviors::Formatters::BaseFormatter
Instance Method Details
#format(work) ⇒ Object
8 9 10 11 12 13 14 15 |
# File 'app/helpers/hyrax/citations_behaviors/formatters/apa_formatter.rb', line 8 def format(work) text = '' text << (work) text << pub_date_text_for(work) text << add_title_text_for(work) text << add_publisher_text_for(work) text.html_safe end |
#format_authors(authors_list = []) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'app/helpers/hyrax/citations_behaviors/formatters/apa_formatter.rb', line 32 def ( = []) = Array.wrap().collect { |name| abbreviate_name(surname_first(name)).strip } text = '' text << .first if .first [1..-1].each do || if == .last # last text << ", & " << else # all others text << ", " << end end text << "." unless text =~ /\.$/ text end |
#format_date(pub_date) ⇒ Object
73 74 75 |
# File 'app/helpers/hyrax/citations_behaviors/formatters/apa_formatter.rb', line 73 def format_date(pub_date) pub_date.blank? ? "" : "(" + pub_date + "). " end |
#format_title(title_info) ⇒ Object
77 78 79 |
# File 'app/helpers/hyrax/citations_behaviors/formatters/apa_formatter.rb', line 77 def format_title(title_info) title_info.nil? ? "" : "<i class=\"citation-title\">#{title_info}</i> " end |