class GitDirty::FileTask
Public Class Methods
new(name, *args)
click to toggle source
Calls superclass method
# File lib/git-dirty/file_task.rb, line 7 def initialize(name, *args) super desc "Write git status to #{name} (should be git-ignored)" end
Public Instance Methods
execute(args=nil)
click to toggle source
# File lib/git-dirty/file_task.rb, line 24 def execute(args=nil) if application.options.trace application.trace "*** Writing actual state '#{actual_state}' to #{name}" end File.write(name, actual_state) end
needed?()
click to toggle source
# File lib/git-dirty/file_task.rb, line 12 def needed? (actual_state != persisted_state).tap do |needed| if application.options.trace if needed application.trace "*** #{name} IS needed" else application.trace "*** #{name} is NOT needed" end end end end
Private Instance Methods
actual_state()
click to toggle source
# File lib/git-dirty/file_task.rb, line 34 def actual_state if clean? rev else "#{rev}*" end end
clean?()
click to toggle source
# File lib/git-dirty/file_task.rb, line 47 def clean? `git status --porcelain`.chomp.empty? end
persisted_state()
click to toggle source
# File lib/git-dirty/file_task.rb, line 42 def persisted_state return nil unless File.exist?(name) File.read(name).chomp end
rev()
click to toggle source
# File lib/git-dirty/file_task.rb, line 51 def rev `git rev-parse --short HEAD`.chomp end