Sha256: e43aa5e65b34a802205e536d4af97686b37068a362093028601430dde78a0f57
Contents?: true
Size: 1.31 KB
Versions: 3
Compression:
Stored size: 1.31 KB
Contents
module RelatonUn class UnBibliographicItem < RelatonIsoBib::IsoBibliographicItem TYPES = %w[ recommendation plenary addendum communication corrigendum reissue agenda budgetary sec-gen-notes expert-report resolution ].freeze DISTRIBUTIONS = { "GEN" => "general", "LTD" => "limited", "DER" => "restricted", "PRO" => "provisional" }.freeze # @return [RelatonUn::Session, NilClass] attr_reader :session # @return [String, NilClass] attr_reader :distribution # @param session [RelatonUn::Session, NilClass] # @param distribution [String] def initialize(**args) if args[:distribution] && !DISTRIBUTIONS.has_value?(args[:distribution]) warn "[relaton-un] WARNING: invalid distribution: #{args[:distribution]}" end @distribution = args.delete :distribution @session = args.delete :session super **args end # @param builder [Nokogiri::XML::Builder] # @param bibdata [TrueClasss, FalseClass, NilClass] def to_xml(builder = nil, **opts) super(builder, **opts) do |b| b.distribution distribution if distribution session&.to_xml b if session end end # @return [Hash] def to_hash hash = super hash["session"] = session.to_hash if session hash end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
relaton-un-1.1.0 | lib/relaton_un/un_bibliographic_item.rb |
relaton-un-1.0.1 | lib/relaton_un/un_bibliographic_item.rb |
relaton-un-1.0.0 | lib/relaton_un/un_bibliographic_item.rb |