Module: Hyrax::CitationsBehaviors::TitleBehavior
Constant Summary
collapse
- TITLE_NOCAPS =
["a", "an", "and", "but", "by", "for", "it", "of", "the", "to", "with"].freeze
- EXPANDED_NOCAPS =
TITLE_NOCAPS + ["about", "across", "before", "without"]
Instance Method Summary
collapse
#clean_end_punctuation, #persistent_url
Instance Method Details
#chicago_citation_title(title_text) ⇒ Object
10
11
12
13
14
15
16
17
18
19
|
# File 'app/helpers/hyrax/citations_behaviors/title_behavior.rb', line 10
def chicago_citation_title(title_text)
process_title_parts(title_text) do |w, index|
if (index.zero? && w.casecmp(w).zero?) || (w.length > 1 && w.casecmp(w).zero? && !EXPANDED_NOCAPS.include?(w))
w.split("-").map!(&:capitalize).join("-")
else
w
end
end
end
|
#mla_citation_title(title_text) ⇒ Object
21
22
23
24
25
26
27
28
29
|
# File 'app/helpers/hyrax/citations_behaviors/title_behavior.rb', line 21
def mla_citation_title(title_text)
process_title_parts(title_text) do |w|
if TITLE_NOCAPS.include? w
w
else
w.capitalize
end
end
end
|
#process_title_parts(title_text, &block) ⇒ Object
31
32
33
34
35
36
37
|
# File 'app/helpers/hyrax/citations_behaviors/title_behavior.rb', line 31
def process_title_parts(title_text, &block)
if block_given?
title_text.split(" ").collect.with_index(&block).join(" ")
else
title_text
end
end
|
#setup_title_info(work) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'app/helpers/hyrax/citations_behaviors/title_behavior.rb', line 39
def setup_title_info(work)
text = ''
title = work.to_s
if title.present?
title = CGI.escapeHTML(title)
title_info = clean_end_punctuation(title.strip)
text += title_info
end
return nil if text.strip.blank?
clean_end_punctuation(text.strip) + "."
end
|