Class: Contrast::Agent::Inventory::GemfileDigestCache
- Extended by:
- Forwardable
- Defined in:
- lib/contrast/agent/inventory/gemfile_digest_cache.rb
Overview
Keeps a map of gem digest to files for reporting file usage
Instance Method Summary collapse
- #generate_usage_data(activity) ⇒ Object
- #get(digest) ⇒ Object
-
#initialize ⇒ GemfileDigestCache
constructor
A new instance of GemfileDigestCache.
- #use_cache(digest) {|get(digest)| ... } ⇒ Object
Constructor Details
#initialize ⇒ GemfileDigestCache
Returns a new instance of GemfileDigestCache.
13 14 15 |
# File 'lib/contrast/agent/inventory/gemfile_digest_cache.rb', line 13 def initialize @gem_spec_digest_to_files = {} end |
Instance Method Details
#generate_usage_data(activity) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/contrast/agent/inventory/gemfile_digest_cache.rb', line 17 def generate_usage_data activity return unless activity @gem_spec_digest_to_files.each_pair do |digest, files| usage = Contrast::Api::Dtm::LibraryUsageUpdate.build(digest, files) activity.library_usages[usage.hash_code] = usage if activity end @gem_spec_digest_to_files.clear end |
#get(digest) ⇒ Object
31 32 33 34 |
# File 'lib/contrast/agent/inventory/gemfile_digest_cache.rb', line 31 def get digest @gem_spec_digest_to_files[digest] = Set.new unless @gem_spec_digest_to_files.key?(digest) @gem_spec_digest_to_files[digest] end |
#use_cache(digest) {|get(digest)| ... } ⇒ Object
27 28 29 |
# File 'lib/contrast/agent/inventory/gemfile_digest_cache.rb', line 27 def use_cache digest yield get(digest) end |