Class: BridgetownSitemap::GitInspector

Inherits:
Object
  • Object
show all
Defined in:
lib/bridgetown-sitemap/git_inspector.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resource) ⇒ GitInspector

Returns a new instance of GitInspector.



5
6
7
# File 'lib/bridgetown-sitemap/git_inspector.rb', line 5

def initialize(resource)
  @resource = resource
end

Class Method Details

.git_repo?Boolean

Returns:

  • (Boolean)


30
31
32
33
34
# File 'lib/bridgetown-sitemap/git_inspector.rb', line 30

def self.git_repo?
  return @git_repo if defined?(@git_repo)

  @git_repo = system("git rev-parse --is-inside-work-tree", out: File::NULL, err: File::NULL)
end

Instance Method Details

#latest_git_commit_dateObject



9
10
11
12
13
14
15
16
17
18
# File 'lib/bridgetown-sitemap/git_inspector.rb', line 9

def latest_git_commit_date
  return nil unless git_repo?
  return nil unless repo_origin?

  date = cache.getset(@resource.id) do
    `git log -1 --pretty="format:%cI" "#{@resource.path}"`
  end

  Time.parse(date) if !date.nil? && date.size > 0
end