Module: Kettle::Jem::SelfTest::Manifest
- Defined in:
- lib/kettle/jem.rb
Class Method Summary collapse
Class Method Details
.compare(before, after) ⇒ Object
2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 |
# File 'lib/kettle/jem.rb', line 2347 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
2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 |
# File 'lib/kettle/jem.rb', line 2330 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 |