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)