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