Class: Ace::Docs::Molecules::GitDateResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/ace/docs/molecules/git_date_resolver.rb

Overview

Resolves last commit date for a file path.

Class Method Summary collapse

Class Method Details

.last_updated_for(path) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/ace/docs/molecules/git_date_resolver.rb', line 11

def self.last_updated_for(path)
  return nil if path.nil? || path.to_s.empty?

  args = [
    "git", "log", "-1", "--format=%cs", "--", path.to_s
  ]
  stdout, _stderr, status = Open3.capture3(*args)
  return nil unless status.success?

  value = stdout.strip
  return nil if value.empty?

  Date.parse(value)
rescue
  nil
end