Sha256: fc0432aa662332c7b89993eb08d8a912021481d96d6018c11f0994ea23e5017b

Contents?: true

Size: 1.46 KB

Versions: 32

Compression:

Stored size: 1.46 KB

Contents

module IsoDoc
  class Metadata
    DATETYPES = %w{published accessed created implemented obsoleted confirmed
                   updated issued received transmitted copied unchanged
                   circulated vote-started
                   vote-ended}.freeze

    def months
      {
        "01": @labels["month_january"],
        "02": @labels["month_february"],
        "03": @labels["month_march"],
        "04": @labels["month_april"],
        "05": @labels["month_may"],
        "06": @labels["month_june"],
        "07": @labels["month_july"],
        "08": @labels["month_august"],
        "09": @labels["month_september"],
        "10": @labels["month_october"],
        "11": @labels["month_november"],
        "12": @labels["month_december"],
      }
    end

    def monthyr(isodate)
      m = /(?<yr>\d\d\d\d)-(?<mo>\d\d)/.match isodate
      return isodate unless m && m[:yr] && m[:mo]

      l10n("#{months[m[:mo].to_sym]} #{m[:yr]}")
    end

    def MMMddyyyy(isodate)
      isodate.nil? and return nil

      arr = isodate.split("-")
      arr.size == 1 && (/^\d+$/.match isodate) and
        return Date.new(*arr.map(&:to_i)).strftime("%Y")
      arr.size == 2 and
        return Date.new(*arr.map(&:to_i)).strftime("%B %Y")
      Date.parse(isodate).strftime("%B %d, %Y")
    end

    def bibdate(isoxml, _out)
      isoxml.xpath(ns("//bibdata/date")).each do |d|
        set("#{d['type'].gsub(/-/, '_')}date".to_sym, Common::date_range(d))
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
isodoc-2.6.6 lib/isodoc/metadata_date.rb
isodoc-2.6.5 lib/isodoc/metadata_date.rb
isodoc-2.6.4 lib/isodoc/metadata_date.rb
isodoc-2.6.3 lib/isodoc/metadata_date.rb
isodoc-2.6.2 lib/isodoc/metadata_date.rb
isodoc-2.6.1 lib/isodoc/metadata_date.rb
isodoc-2.6.0 lib/isodoc/metadata_date.rb
isodoc-2.5.10 lib/isodoc/metadata_date.rb
isodoc-2.5.9 lib/isodoc/metadata_date.rb
isodoc-2.5.8 lib/isodoc/metadata_date.rb
isodoc-2.5.7 lib/isodoc/metadata_date.rb
isodoc-2.5.6 lib/isodoc/metadata_date.rb
isodoc-2.5.5 lib/isodoc/metadata_date.rb
isodoc-2.5.4 lib/isodoc/metadata_date.rb
isodoc-2.5.3 lib/isodoc/metadata_date.rb
isodoc-2.5.2 lib/isodoc/metadata_date.rb
isodoc-2.5.1 lib/isodoc/metadata_date.rb
isodoc-2.5.0 lib/isodoc/metadata_date.rb
isodoc-2.4.5 lib/isodoc/metadata_date.rb
isodoc-2.4.4 lib/isodoc/metadata_date.rb