class RelatonUn::UnBibliographicItem
Constants
- DISTRIBUTIONS
- TYPES
Attributes
distribution[R]
@return [String, NilClass]
job_number[R]
@return [String, NilClass]
session[R]
@return [RelatonUn::Session, NilClass]
submissionlanguage[R]
@return [Array<String>]
Public Class Methods
new(**args)
click to toggle source
@param session [RelatonUn::Session, NilClass] @param distribution [String, nil] @param job_number
[String, nil]
Calls superclass method
# File lib/relaton_un/un_bibliographic_item.rb, line 25 def initialize(**args) if args[:distribution] && !DISTRIBUTIONS.has_value?(args[:distribution]) warn "[relaton-un] WARNING: invalid distribution: "\ "#{args[:distribution]}" end @submissionlanguage = args.delete :submissionlanguage @distribution = args.delete :distribution @session = args.delete :session @job_number = args.delete :job_number super **args end
Public Instance Methods
to_asciibib(prefix = "")
click to toggle source
@param prefix [String] @return [String]
Calls superclass method
# File lib/relaton_un/un_bibliographic_item.rb, line 70 def to_asciibib(prefix = "") # rubocop:disable Metrics/AbcSize pref = prefix.empty? ? prefix : prefix + "." out = super submissionlanguage.each do |sl| out += "#{pref}submissionlanguage:: #{sl}\n" end out += "#{pref}distribution:: #{distribution}\n" if distribution out += session.to_asciibib prefix if session out += "#{pref}job_number:: #{job_number}\n" if job_number out end
to_hash()
click to toggle source
@return [Hash]
Calls superclass method
# File lib/relaton_un/un_bibliographic_item.rb, line 57 def to_hash # rubocop:disable Metrics/AbcSize hash = super if submissionlanguage&.any? hash["submissionlanguage"] = single_element_array submissionlanguage end hash["distribution"] = distribution if distribution hash["session"] = session.to_hash if session hash["job_number"] = job_number if job_number hash end
to_xml(**opts)
click to toggle source
@param opts [Hash] @option opts [Nokogiri::XML::Builder] :builder XML builder @option opts [Boolean] :bibdata @option opts [String] :lang language @return [String] XML
Calls superclass method
# File lib/relaton_un/un_bibliographic_item.rb, line 42 def to_xml(**opts) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity super **opts do |b| b.ext do b.doctype doctype if doctype submissionlanguage&.each { |sl| b.submissionlanguage sl } editorialgroup&.to_xml b ics&.each { |i| i.to_xml b } b.distribution distribution if distribution session&.to_xml b if session b.job_number job_number if job_number end end end