Module: Kettle::Jem::SelfTest::Manifest
- Defined in:
- lib/kettle/jem.rb
Class Method Summary collapse
Class Method Details
.compare(before, after) ⇒ Object
2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 |
# File 'lib/kettle/jem.rb', line 2404 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
2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 |
# File 'lib/kettle/jem.rb', line 2387 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 |