Class: RelatonBib::FullName
- Inherits:
-
Object
- Object
- RelatonBib::FullName
- Defined in:
- lib/relaton_bib/person.rb
Overview
Person’s full name
Instance Attribute Summary collapse
- #addition ⇒ Array<RelatonBib::LocalizedString>
- #completename ⇒ RelatonBib::LocalizedString readonly
- #forename ⇒ Array<RelatonBib::LocalizedString>
- #initial ⇒ Array<RelatonBib::LocalizedString>
- #prefix ⇒ Array<RelatonBib::LocalizedString>
- #surname ⇒ RelatonBib::LocalizedString
Instance Method Summary collapse
-
#initialize(**args) ⇒ FullName
constructor
A new instance of FullName.
- #to_xml(builder) ⇒ Object
Constructor Details
#initialize(**args) ⇒ FullName
Returns a new instance of FullName.
32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/relaton_bib/person.rb', line 32 def initialize(**args) unless args[:surname] || args[:completename] raise ArgumentError, "Should be given :surname or :completename" end @surname = args[:surname] @forename = args.fetch :forename, [] @initial = args.fetch :initial, [] @addition = args.fetch :addition, [] @prefix = args.fetch :prefix, [] @completename = args[:completename] end |
Instance Attribute Details
#addition ⇒ Array<RelatonBib::LocalizedString>
18 19 20 |
# File 'lib/relaton_bib/person.rb', line 18 def addition @addition end |
#completename ⇒ RelatonBib::LocalizedString (readonly)
24 25 26 |
# File 'lib/relaton_bib/person.rb', line 24 def completename @completename end |
#forename ⇒ Array<RelatonBib::LocalizedString>
9 10 11 |
# File 'lib/relaton_bib/person.rb', line 9 def forename @forename end |
#initial ⇒ Array<RelatonBib::LocalizedString>
12 13 14 |
# File 'lib/relaton_bib/person.rb', line 12 def initial @initial end |
#prefix ⇒ Array<RelatonBib::LocalizedString>
21 22 23 |
# File 'lib/relaton_bib/person.rb', line 21 def prefix @prefix end |
#surname ⇒ RelatonBib::LocalizedString
15 16 17 |
# File 'lib/relaton_bib/person.rb', line 15 def surname @surname end |
Instance Method Details
#to_xml(builder) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/relaton_bib/person.rb', line 46 def to_xml(builder) builder.name do if completename builder.completename { completename.to_xml builder } else prefix.each { |p| builder.prefix { p.to_xml builder } } initial.each { |i| builder.initial { i.to_xml builder } } addition.each { |a| builder.addition { a.to_xml builder } } builder.surname { surname.to_xml builder } forename.each { |f| builder.forename { f.to_xml builder } } end end end |