From cd6f89ca764791ee7ae3c706dec2e9427cd01f60 Mon Sep 17 00:00:00 2001 From: "Andrew R. McBurney" Date: Fri, 18 May 2018 10:06:30 -0400 Subject: [PATCH] Made `DatabaseCache.new` private, and changes instances in code that call it to use `DatabaseCache.use` instead. --- Library/Homebrew/cache_store.rb | 17 ++++++++--------- Library/Homebrew/dev-cmd/linkage.rb | 2 +- .../extend/os/mac/formula_cellar_checks.rb | 2 +- Library/Homebrew/formula_installer.rb | 2 +- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/Library/Homebrew/cache_store.rb b/Library/Homebrew/cache_store.rb index 3328235329..a9b28f704b 100644 --- a/Library/Homebrew/cache_store.rb +++ b/Library/Homebrew/cache_store.rb @@ -12,8 +12,13 @@ class DatabaseCache # https://docs.oracle.com/cd/E17276_01/html/api_reference/C/envopen.html DATABASE_MODE = 0664 - # Returned value from `initialize` block - attr_reader :return_value + def self.use(type) + 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 # @@ -22,15 +27,9 @@ class DatabaseCache def initialize(name) # DBM::WRCREAT: Creates the database if it does not already exist @db = DBM.open("#{HOMEBREW_CACHE}/#{name}.db", DATABASE_MODE, DBM::WRCREAT) - @return_value = yield(@db) + yield(@db) @db.close end - - def self.use(type) - return_value = nil - DatabaseCache.new(type) { |db| return_value = yield(db) } - return_value - end end # diff --git a/Library/Homebrew/dev-cmd/linkage.rb b/Library/Homebrew/dev-cmd/linkage.rb index 7f2fbe62c3..01bdfda57f 100644 --- a/Library/Homebrew/dev-cmd/linkage.rb +++ b/Library/Homebrew/dev-cmd/linkage.rb @@ -20,7 +20,7 @@ module Homebrew module_function def linkage - DatabaseCache.new(:linkage) do |database_cache| + DatabaseCache.use(:linkage) do |database_cache| ARGV.kegs.each do |keg| ohai "Checking #{keg.name} linkage" if ARGV.kegs.size > 1 diff --git a/Library/Homebrew/extend/os/mac/formula_cellar_checks.rb b/Library/Homebrew/extend/os/mac/formula_cellar_checks.rb index 4e09799cdd..bd78f0e30b 100644 --- a/Library/Homebrew/extend/os/mac/formula_cellar_checks.rb +++ b/Library/Homebrew/extend/os/mac/formula_cellar_checks.rb @@ -66,7 +66,7 @@ module FormulaCellarChecks return unless formula.prefix.directory? keg = Keg.new(formula.prefix) - DatabaseCache.new(:linkage) do |database_cache| + DatabaseCache.use(:linkage) do |database_cache| use_cache = !ENV["HOMEBREW_LINKAGE_CACHE"].nil? checker = LinkageChecker.new(keg, database_cache, use_cache, formula) diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index aa347a7ba5..946a6fddb3 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -611,7 +611,7 @@ class FormulaInstaller puts summary # 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? LinkageChecker.new(keg, database_cache, false, formula) end