class Git::Duet::PreCommitCommand
Public Class Methods
new(quiet = false)
click to toggle source
# File lib/git/duet/pre_commit_command.rb, line 11 def initialize(quiet = false) @quiet = !!quiet end
Public Instance Methods
execute!()
click to toggle source
# File lib/git/duet/pre_commit_command.rb, line 15 def execute! in_repo_root do explode! if !env_cache_exists? || env_cache_stale? end end
Private Instance Methods
env_cache_exists?()
click to toggle source
# File lib/git/duet/pre_commit_command.rb, line 29 def env_cache_exists? with_output_quieted do exec_check("git config #{Git::Duet::Config.namespace}.mtime") end true rescue false end
env_cache_stale?()
click to toggle source
# File lib/git/duet/pre_commit_command.rb, line 38 def env_cache_stale? Integer( exec_check("git config #{Git::Duet::Config.namespace}.mtime") ) < stale_cutoff end
explode!()
click to toggle source
# File lib/git/duet/pre_commit_command.rb, line 23 def explode! error('Your git duet settings are stale, human!') error('Update them with `git duet` or `git solo`.') fail Git::Duet::ScriptDieError, 1 end
stale_cutoff()
click to toggle source
# File lib/git/duet/pre_commit_command.rb, line 44 def stale_cutoff Integer( Time.now - Integer(ENV.fetch('GIT_DUET_SECONDS_AGO_STALE', '1200')) ) end