lib/relaton/db.rb in relaton-0.1.1 vs lib/relaton/db.rb in relaton-0.1.2

- old
+ new

@@ -3,11 +3,11 @@ module Relaton class RelatonError < StandardError; end class Db - SUPPORTED_GEMS = %w[ isobib rfcbib gbbib ].freeze + SUPPORTED_GEMS = %w[isobib rfcbib gbbib].freeze # @param global_cache [String] filename of global DB # @param local_cache [String] filename of local DB def initialize(global_cache, local_cache) @db = open_cache_biblio(global_cache) @@ -64,11 +64,11 @@ def to_xml return nil if @db.nil? @db.transaction do Nokogiri::XML::Builder.new(encoding: "UTF-8") do |xml| xml.documents do - @db.roots.each { |key| @db[key]["bib"].to_xml(xml, {}) } + @db.roots.each { |key| @db[key]&.fetch("bib")&.to_xml(xml, {}) } end end.to_xml end end @@ -142,10 +142,10 @@ # if cached reference is undated, expire it after 60 days # @param bib [Hash] # @param year [String] def valid_bib_entry?(bib, year) bib&.is_a?(Hash) && bib&.has_key?("bib") && bib&.has_key?("fetched") && - (year || Date.today - Date.iso8601(bib["fetched"]) < 60) + (year || Date.today - bib["fetched"] < 60) end # @param filename [String] DB filename # @return [Hash] def open_cache_biblio(filename)