Sha256: 88a79295f387c9204230ccbd2a7a3e69fa4f0510bb5c26cfdd078f4130e9e123

Contents?: true

Size: 1015 Bytes

Versions: 2

Compression:

Stored size: 1015 Bytes

Contents

# frozen_string_literal: true

require 'uri'

module IsoBibItem
  # Contact method.
  class ContactMethod
    # @return [String] @todo TBD
    attr_reader :contact
  end

  # Affilation.
  class Affilation
    # @return [IsoBibItem::LocalizedString]
    attr_reader :name

    # @return [Array<IsoBibItem::FormattedString>]
    attr_reader :description

    # @return [IsoBibItem::Organization]
    attr_reader :organization

    # @param organization [IsoBibItem::Organization]
    def initialize(organization)
      @organization = organization
      @description  = []
    end
  end

  # Contributor.
  class Contributor
    # @return [URI]
    attr_reader :uri

    # @return [Array<IsoBibItem::ContactMethod>]
    attr_reader :contacts

    # @param url [String]
    def initialize(url = nil)
      @uri = URI url if url
      @contacts = []
    end

    # @return [String]
    def url
      @uri.to_s
    end

    def to_xml(builder)
      contacts.each { |contact| contact.to_xml builder }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
iso-bib-item-0.1.6 lib/iso_bib_item/contributor.rb
iso-bib-item-0.1.5 lib/iso_bib_item/contributor.rb