class Teapot::Command::Top

Public Instance Methods

call() click to toggle source
# File lib/teapot/command.rb, line 96
def call
        if @options[:version]
                puts "teapot v#{Teapot::VERSION}"
        elsif @options[:help]
                print_usage(output: $stdout)
        else
                @command.call
        end
rescue Teapot::IncompatibleTeapotError => error
        logger.error(command, error) do
                "Supported minimum version #{Teapot::MINIMUM_LOADER_VERSION.dump} to #{Teapot::LOADER_VERSION.dump}."
        end
        
        raise
rescue ::Build::Dependency::UnresolvedDependencyError => error
        logger.error(command, error) do |buffer|
                buffer.puts "Unresolved dependencies:"

                error.chain.unresolved.each do |name, parent|
                        buffer.puts "#{parent} depends on #{name.inspect}"
                
                        conflicts = error.chain.conflicts[name]
                
                        if conflicts
                                conflicts.each do |conflict|
                                        buffer.puts " - provided by #{conflict.name}"
                                end
                        end
                end

                buffer.puts "Cannot continue due to unresolved dependencies!"
        end
        
        raise
rescue StandardError => error
        logger.error(command, error)
        
        raise
end
configuration() click to toggle source
# File lib/teapot/command.rb, line 88
def configuration
        @options[:configuration]
end
context(root = self.root) click to toggle source
# File lib/teapot/command.rb, line 92
def context(root = self.root)
        Context.new(root, configuration: configuration)
end
logger() click to toggle source
# File lib/teapot/command.rb, line 76
def logger
        @logger ||= Console::Logger.new(Console.logger, verbose: self.verbose?).tap do |logger|
                if verbose?
                        logger.debug!
                elsif quiet?
                        logger.warn!
                else
                        logger.info!
                end
        end
end
quiet?() click to toggle source
# File lib/teapot/command.rb, line 72
def quiet?
        @options[:logging] == :quiet
end
root() click to toggle source
# File lib/teapot/command.rb, line 64
def root
        ::Build::Files::Path.expand(@options[:root] || Dir.getwd)
end
verbose?() click to toggle source
# File lib/teapot/command.rb, line 68
def verbose?
        @options[:logging] == :verbose
end