Made DatabaseCache.new private, and changes instances in code that call it to use DatabaseCache.use instead.

This commit is contained in:
Andrew R. McBurney 2018-05-18 10:06:30 -04:00
parent ddd2ec05d8
commit cd6f89ca76
4 changed files with 11 additions and 12 deletions

View File

@ -12,8 +12,13 @@ class DatabaseCache
# https://docs.oracle.com/cd/E17276_01/html/api_reference/C/envopen.html # https://docs.oracle.com/cd/E17276_01/html/api_reference/C/envopen.html
DATABASE_MODE = 0664 DATABASE_MODE = 0664
# Returned value from `initialize` block def self.use(type)
attr_reader :return_value return_value = nil
DatabaseCache.new(type) { |db| return_value = yield(db) }
return_value
end
private
# Opens and yields a database in read/write mode. Closes the database after use # Opens and yields a database in read/write mode. Closes the database after use
# #
@ -22,15 +27,9 @@ class DatabaseCache
def initialize(name) def initialize(name)
# DBM::WRCREAT: Creates the database if it does not already exist # DBM::WRCREAT: Creates the database if it does not already exist
@db = DBM.open("#{HOMEBREW_CACHE}/#{name}.db", DATABASE_MODE, DBM::WRCREAT) @db = DBM.open("#{HOMEBREW_CACHE}/#{name}.db", DATABASE_MODE, DBM::WRCREAT)
@return_value = yield(@db) yield(@db)
@db.close @db.close
end end
def self.use(type)
return_value = nil
DatabaseCache.new(type) { |db| return_value = yield(db) }
return_value
end
end end
# #

View File

@ -20,7 +20,7 @@ module Homebrew
module_function module_function
def linkage def linkage
DatabaseCache.new(:linkage) do |database_cache| DatabaseCache.use(:linkage) do |database_cache|
ARGV.kegs.each do |keg| ARGV.kegs.each do |keg|
ohai "Checking #{keg.name} linkage" if ARGV.kegs.size > 1 ohai "Checking #{keg.name} linkage" if ARGV.kegs.size > 1

View File

@ -66,7 +66,7 @@ module FormulaCellarChecks
return unless formula.prefix.directory? return unless formula.prefix.directory?
keg = Keg.new(formula.prefix) keg = Keg.new(formula.prefix)
DatabaseCache.new(:linkage) do |database_cache| DatabaseCache.use(:linkage) do |database_cache|
use_cache = !ENV["HOMEBREW_LINKAGE_CACHE"].nil? use_cache = !ENV["HOMEBREW_LINKAGE_CACHE"].nil?
checker = LinkageChecker.new(keg, database_cache, use_cache, formula) checker = LinkageChecker.new(keg, database_cache, use_cache, formula)

View File

@ -611,7 +611,7 @@ class FormulaInstaller
puts summary puts summary
# Updates the cache for a particular formula after doing an install # Updates the cache for a particular formula after doing an install
DatabaseCache.new(:linkage) do |database_cache| DatabaseCache.use(:linkage) do |database_cache|
break if database_cache.empty? break if database_cache.empty?
LinkageChecker.new(keg, database_cache, false, formula) LinkageChecker.new(keg, database_cache, false, formula)
end end