class Leg::Commands::Fancy

Public Class Methods

name() click to toggle source
# File lib/leg/commands/fancy.rb, line 2
def self.name
  "fancy"
end
summary() click to toggle source
# File lib/leg/commands/fancy.rb, line 6
def self.summary
  "Run steps.diff through colordiff, diff-so-fancy, and less"
end

Public Instance Methods

run() click to toggle source
# File lib/leg/commands/fancy.rb, line 10
def run
  needs! :config, :diff

  FileUtils.cd(@config[:path]) do
    exec("cat steps.diff | colordiff | diff-so-fancy | less --tabs=4 -RFX")
  end
end

Private Instance Methods

apply_diff(dir, diff) click to toggle source
# File lib/leg/commands/fancy.rb, line 20
def apply_diff(dir, diff)
  stdin = IO.popen("git --git-dir= apply --directory=#{dir} -", "w")
  stdin.write diff
  stdin.close
end