Class: Hyrax::CitationsBehaviors::Formatters::ApaFormatter

Inherits:
BaseFormatter
  • Object
show all
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

#view_context

Instance Method Summary collapse

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

#initialize

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 << authors_text_for(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 format_authors(authors_list = [])
  authors_list = Array.wrap(authors_list).collect { |name| abbreviate_name(surname_first(name)).strip }
  text = ''
  text << authors_list.first if authors_list.first
  authors_list[1..-1].each do |author|
    if author == authors_list.last # last
      text << ", &amp; " << author
    else # all others
      text << ", " << author
    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