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