Sha256: 4b57462ec7888fb7c5bcf1175380bc3d078f009dcabfd9a86bc0347a112dc7a4

Contents?: true

Size: 1.25 KB

Versions: 61

Compression:

Stored size: 1.25 KB

Contents

module RelatonBib
  # Version
  class BibliographicItem
    class Version
      include RelatonBib

      # @return [String, NilClass]
      attr_reader :revision_date

      # @return [Array<String>]
      attr_reader :draft

      # @param revision_date [String, NilClass]
      # @param draft [Array<String>]
      def initialize(revision_date = nil, draft = [])
        @revision_date = revision_date
        @draft         = draft
      end

      # @param builder [Nokogiri::XML::Builder]
      def to_xml(builder)
        builder.version do
          builder.send("revision-date", revision_date) if revision_date
          draft.each { |d| builder.draft d }
        end
      end

      # @return [Hash]
      def to_hash
        hash = {}
        hash["revision_date"] = revision_date if revision_date
        hash["draft"] = single_element_array(draft) if draft&.any?
        hash
      end

      # @param prefix [String]
      # @return [String]
      def to_asciibib(prefix = "")
        pref = prefix.empty? ? prefix : prefix + "."
        out = ""
        if revision_date
          out += "#{pref}version.revision_date:: #{revision_date}\n"
        end
        draft&.each { |d| out += "#{pref}version.draft:: #{d}\n" }
        out
      end
    end
  end
end

Version data entries

61 entries across 61 versions & 1 rubygems

Version Path
relaton-bib-1.11.7 lib/relaton_bib/biblio_version.rb
relaton-bib-1.11.6 lib/relaton_bib/biblio_version.rb
relaton-bib-1.11.5 lib/relaton_bib/biblio_version.rb
relaton-bib-1.11.4 lib/relaton_bib/biblio_version.rb
relaton-bib-1.11.3 lib/relaton_bib/biblio_version.rb
relaton-bib-1.11.2 lib/relaton_bib/biblio_version.rb
relaton-bib-1.11.1 lib/relaton_bib/biblio_version.rb
relaton-bib-1.11.0 lib/relaton_bib/biblio_version.rb
relaton-bib-1.10.7 lib/relaton_bib/biblio_version.rb
relaton-bib-1.10.6 lib/relaton_bib/biblio_version.rb
relaton-bib-1.10.5 lib/relaton_bib/biblio_version.rb
relaton-bib-1.10.4 lib/relaton_bib/biblio_version.rb
relaton-bib-1.10.3 lib/relaton_bib/biblio_version.rb
relaton-bib-1.10.2 lib/relaton_bib/biblio_version.rb
relaton-bib-1.10.1 lib/relaton_bib/biblio_version.rb
relaton-bib-1.10.0 lib/relaton_bib/biblio_version.rb
relaton-bib-1.9.23 lib/relaton_bib/biblio_version.rb
relaton-bib-1.9.22 lib/relaton_bib/biblio_version.rb
relaton-bib-1.9.21 lib/relaton_bib/biblio_version.rb
relaton-bib-1.9.20 lib/relaton_bib/biblio_version.rb