lib/berkshelf/cached_cookbook.rb in berkshelf-2.0.9 vs lib/berkshelf/cached_cookbook.rb in berkshelf-2.0.10
- old
+ new
@@ -1,7 +1,9 @@
module Berkshelf
class CachedCookbook < Ridley::Chef::Cookbook
+ @loaded = Hash.new
+
class << self
# @param [#to_s] path
# a path on disk to the location of a Cookbook downloaded by the Downloader
#
# @return [CachedCookbook]
@@ -10,10 +12,10 @@
def from_store_path(path)
path = Pathname.new(path)
cached_name = File.basename(path.to_s).slice(DIRNAME_REGEXP, 1)
return nil if cached_name.nil?
- from_path(path, name: cached_name)
+ @loaded[path.to_s] ||= from_path(path, name: cached_name)
end
end
DIRNAME_REGEXP = /^(.+)-(.+)$/