Module: Kettle::Jem::SelfTest::Manifest
- Defined in:
- lib/kettle/jem.rb
Class Method Summary collapse
Class Method Details
.compare(before, after) ⇒ Object
2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 |
# File 'lib/kettle/jem.rb', line 2472 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
2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 |
# File 'lib/kettle/jem.rb', line 2455 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 |