class Teapot::Command::Status
Public Instance Methods
process(selection)
click to toggle source
# File lib/teapot/command/status.rb, line 38 def process(selection) context = selection.context terminal = self.terminal selection.resolved.each do |package| repository = Rugged::Repository.new(package.path.to_s) changes = {} repository.status do |file, status| unless status == [:ignored] changes[file] = status end end next if changes.empty? terminal.puts "Package #{package.name} (from #{package.path}):" changes.each do |file, statuses| terminal.puts "\t#{file} (#{statuses})", style: statuses.last end end end
terminal(output = $stdout)
click to toggle source
# File lib/teapot/command/status.rb, line 30 def terminal(output = $stdout) Console::Terminal.for(output).tap do |terminal| terminal[:worktree_new] = terminal.style(:green) terminal[:worktree_modified] = terminal.style(:yellow) terminal[:worktree_deleted] = terminal.style(:red) end end