Sha256: f2748458b6be180e8ae20a54926c9df00fbf9edc33a4b00f699ab9bf8beeb58c

Contents?: true

Size: 1.39 KB

Versions: 46

Compression:

Stored size: 1.39 KB

Contents

module RelatonBib
  class Validity
    FORMAT = "%Y-%m-%d %H:%M"

    # @return [Time, NilClass]
    attr_reader :begins

    # @return [Time, NilClass]
    attr_reader :ends

    # @return [Time, NilClass]
    attr_reader :revision

    # @param begins [Time, NilClass]
    # @param ends [Time, NilClass]
    # @param revision [Time, NilClass]
    def initialize(begins: nil, ends: nil, revision: nil)
      @begins   = begins
      @ends     = ends
      @revision = revision
    end

    # @param [Nokogiri::XML::Builder]
    def to_xml(builder)
      builder.validity do
        builder.validityBegins begins.strftime(FORMAT) if begins
        builder.validityEnds ends.strftime(FORMAT) if ends
        builder.revision revision.strftime(FORMAT) if revision
      end
    end

    # @return [Hash]
    def to_hash
      hash = {}
      hash["begins"] = begins.strftime(FORMAT) if begins
      hash["ends"] = ends.strftime(FORMAT) if ends
      hash["revision"] = revision.strftime(FORMAT) if revision
      hash
    end

    # @param prefix [String]
    # @return [String]
    def to_asciibib(prefix = "")
      pref = prefix.empty? ? "validity." : prefix + ".validity."
      out = ""
      out += "#{pref}begins:: #{begins.strftime(FORMAT)}\n" if begins
      out += "#{pref}ends:: #{ends.strftime(FORMAT)}\n" if ends
      out += "#{pref}revision:: #{revision.strftime(FORMAT)}\n" if revision
      out
    end
  end
end

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
relaton-bib-1.10.0 lib/relaton_bib/validity.rb
relaton-bib-1.9.23 lib/relaton_bib/validity.rb
relaton-bib-1.9.22 lib/relaton_bib/validity.rb
relaton-bib-1.9.21 lib/relaton_bib/validity.rb
relaton-bib-1.9.20 lib/relaton_bib/validity.rb
relaton-bib-1.9.19 lib/relaton_bib/validity.rb
relaton-bib-1.9.18 lib/relaton_bib/validity.rb
relaton-bib-1.9.17 lib/relaton_bib/validity.rb
relaton-bib-1.9.16 lib/relaton_bib/validity.rb
relaton-bib-1.9.15 lib/relaton_bib/validity.rb
relaton-bib-1.9.14 lib/relaton_bib/validity.rb
relaton-bib-1.9.13 lib/relaton_bib/validity.rb
relaton-bib-1.9.12 lib/relaton_bib/validity.rb
relaton-bib-1.9.11 lib/relaton_bib/validity.rb
relaton-bib-1.9.10 lib/relaton_bib/validity.rb
relaton-bib-1.9.9 lib/relaton_bib/validity.rb
relaton-bib-1.9.8 lib/relaton_bib/validity.rb
relaton-bib-1.9.7 lib/relaton_bib/validity.rb
relaton-bib-1.9.6 lib/relaton_bib/validity.rb
relaton-bib-1.9.5 lib/relaton_bib/validity.rb