Module: Legion::Extensions::Knowledge::Helpers::Manifest

Defined in:
lib/legion/extensions/knowledge/helpers/manifest.rb

Class Method Summary collapse

Class Method Details

.diff(current:, previous:) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/legion/extensions/knowledge/helpers/manifest.rb', line 37

def diff(current:, previous:)
  current_map  = current.to_h { |e| [e[:path], e[:sha256]] }
  previous_map = previous.to_h { |e| [e[:path], e[:sha256]] }

  added   = current_map.keys - previous_map.keys
  removed = previous_map.keys - current_map.keys
  changed = current_map.keys.select do |p|
    previous_map.key?(p) && previous_map[p] != current_map[p]
  end

  { added: added, changed: changed, removed: removed }
end

.scan(path:, extensions: %w[.md .txt .docx .pdf])) ⇒ Object



12
13
14
15
16
# File 'lib/legion/extensions/knowledge/helpers/manifest.rb', line 12

def scan(path:, extensions: %w[.md .txt .docx .pdf])
  results = []
  walk(path, extensions, results)
  results
end