class Travis::CLI::Init
def self.languages
def self.languages Dir[File.expand_path('init/*.yml', Travis::Tools::Assets::BASE)] .map { |f| File.basename(f, '.yml') }.sort end
def custom_config
def custom_config @custom_config ||= {} end
def detect_language
def detect_language repository.github_language || 'Ruby' end
def help
def help super("Available languages: #{self.class.languages.join(', ')}\n\n") end
def run(language = nil, file = '.travis.yml')
def run(language = nil, file = '.travis.yml') error "#{file} already exists, use --force to override" if File.exist?(file) && !force? && !print_conf? language ||= ask('Main programming language used: ') { |q| q.default = detect_language } self.travis_config = template(language).merge(custom_config) if print_conf? puts travis_config.to_yaml else save_travis_config(file) say("#{file} file created!") end super() unless skip_enable? end
def template(language)
def template(language) language = language.to_s.downcase language = LANGUAGE_MAPPING[language] || language file = template_name(language) error "unknown language #{language}" unless File.exist? file YAML.load_file(file) end
def template_name(language)
def template_name(language) asset_path("init/#{language}.yml") end