class Travis::CLI::Setup
def self.service(name)
def self.service(name) normal_name = Service.normalized_name(name) const_name = constants(false).detect { |c| Service.normalized_name(c) == normal_name } constant = const_get(const_name) if const_name constant if constant && (constant < Service) && constant.known_as?(name) end
def self.services
def self.services constants(false).sort.map { |c| const_get(c) }.select { |c| c < Service } end
def help
def help services = self.class.services.map do |s| "\t" << color(s.service_name.ljust(20), :command) << color(s.description, :info) end.join("\n") super("\nAvailable services:\n\n#{services}\n\n") end
def run(service, file = travis_yaml)
def run(service, file = travis_yaml) service(service).run save_travis_config(file) end
def service(name)
def service(name) factory = self.class.service(name) error("unknown service #{name}") unless factory factory.new(self) end