Class: Sufia::CitationsBehaviors::Formatters::ApaFormatter
- Inherits:
-
BaseFormatter
- Object
- BaseFormatter
- Sufia::CitationsBehaviors::Formatters::ApaFormatter
- Includes:
- PublicationBehavior, TitleBehavior
- Defined in:
- app/helpers/sufia/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 Sufia::CitationsBehaviors::Formatters::BaseFormatter
Instance Method Details
#format(work) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/helpers/sufia/citations_behaviors/formatters/apa_formatter.rb', line 8 def format(work) text = '' # setup formatted author list = (work).select { || !.blank? } text << () unless text.blank? text = "<span class=\"citation-author\">#{text}</span> " end # Get Pub Date pub_date = setup_pub_date(work) text << format_date(pub_date) # setup title info title_info = setup_title_info(work) text << format_title(title_info) # Publisher info pub_info = clean_end_punctuation(setup_pub_info(work)) text << pub_info unless pub_info.nil? text << "." unless text.blank? || text =~ /\.$/ 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/sufia/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
47 48 49 |
# File 'app/helpers/sufia/citations_behaviors/formatters/apa_formatter.rb', line 47 def format_date(pub_date) pub_date.blank? ? "" : "(" + pub_date + "). " end |
#format_title(title_info) ⇒ Object
51 52 53 |
# File 'app/helpers/sufia/citations_behaviors/formatters/apa_formatter.rb', line 51 def format_title(title_info) title_info.nil? ? "" : "<i class=\"citation-title\">#{title_info}</i> " end |