Sha256: 49847062e84a49beb1ad7a1d5e3fc7d96cb808d22787e152fe846def9c4a2dff

Contents?: true

Size: 909 Bytes

Versions: 4

Compression:

Stored size: 909 Bytes

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.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
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
relaton-bib-0.3.8 lib/relaton_bib/biblio_version.rb
relaton-bib-0.3.7 lib/relaton_bib/biblio_version.rb
relaton-bib-0.3.6 lib/relaton_bib/biblio_version.rb
relaton-bib-0.3.5 lib/relaton_bib/biblio_version.rb