Class: RelatonBib::TypedTitleStringCollection
- Extended by:
- Forwardable
- Defined in:
- lib/relaton_bib/typed_title_string.rb
Instance Method Summary collapse
- #+(tcoll) ⇒ RelatonBib::TypedTitleStringCollection
- #<<(title) ⇒ self
- #delete_title_part! ⇒ Object
-
#initialize(title = []) ⇒ TypedTitleStringCollection
constructor
A new instance of TypedTitleStringCollection.
- #lang(lang = nil) ⇒ RelatonIsoBib::TypedTitleStringCollection
- #select ⇒ RelatonBib::TypedTitleStringCollection
- #titles ⇒ Object
- #to_xml(**opts) ⇒ Object
Constructor Details
#initialize(title = []) ⇒ TypedTitleStringCollection
9 10 11 12 13 |
# File 'lib/relaton_bib/typed_title_string.rb', line 9 def initialize(title = []) @array = (title || []).map do |t| t.is_a?(Hash) ? TypedTitleString.new(t) : t end end |
Instance Method Details
#+(tcoll) ⇒ RelatonBib::TypedTitleStringCollection
42 43 44 |
# File 'lib/relaton_bib/typed_title_string.rb', line 42 def +(tcoll) TypedTitleStringCollection.new titles + tcoll.titles end |
#<<(title) ⇒ self
35 36 37 38 |
# File 'lib/relaton_bib/typed_title_string.rb', line 35 def <<(title) titles << title self end |
#delete_title_part! ⇒ Object
24 25 26 |
# File 'lib/relaton_bib/typed_title_string.rb', line 24 def delete_title_part! titles.delete_if { |t| t.type == "title-part" } end |
#lang(lang = nil) ⇒ RelatonIsoBib::TypedTitleStringCollection
17 18 19 20 21 22 |
# File 'lib/relaton_bib/typed_title_string.rb', line 17 def lang(lang = nil) if lang TypedTitleStringCollection.new select_lang(lang) else self end end |
#select ⇒ RelatonBib::TypedTitleStringCollection
29 30 31 |
# File 'lib/relaton_bib/typed_title_string.rb', line 29 def select TypedTitleStringCollection.new(titles.select { |t| yield t }) end |
#titles ⇒ Object
46 47 48 |
# File 'lib/relaton_bib/typed_title_string.rb', line 46 def titles @array end |
#to_xml(**opts) ⇒ Object
53 54 55 56 57 |
# File 'lib/relaton_bib/typed_title_string.rb', line 53 def to_xml(**opts) tl = select_lang(opts[:lang]) tl = titles unless tl.any? tl.each { |t| opts[:builder].title { t.to_xml opts[:builder] } } end |