Module: Kettle::Jem::SelfTest::Manifest
- Defined in:
- lib/kettle/jem.rb
Class Method Summary collapse
Class Method Details
.compare(before, after) ⇒ Object
2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 |
# File 'lib/kettle/jem.rb', line 2423 def compare(before, after) all_keys = (before.keys | after.keys).sort result = {matched: [], changed: [], added: [], removed: []} all_keys.each do |key| before_sha = before[key] after_sha = after[key] if before_sha.nil? result[:added] << key elsif after_sha.nil? result[:removed] << key elsif before_sha == after_sha result[:matched] << key else result[:changed] << key end end result end |
.generate(dir) ⇒ Object
2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 |
# File 'lib/kettle/jem.rb', line 2406 def generate(dir) result = {} dir = dir.to_s return result unless Dir.exist?(dir) Find.find(dir) do |path| next if File.directory?(path) content = File.binread(path) relative_path = path.sub(%r{^#{Regexp.escape(dir)}/?}, "") result[relative_path] = Digest::SHA256.hexdigest(content) unless relative_path.empty? rescue next end result.sort.to_h end |