class Travis::CLI::Init

Constants

LANGUAGE_MAPPING

Attributes

travis_config[W]

Public Class Methods

languages() click to toggle source
# File lib/travis/cli/init.rb, line 36
def self.languages
  Dir[asset_path('init/*.yml')].map { |f| File.basename(f, '.yml') }.sort
end

Public Instance Methods

custom_config() click to toggle source
# File lib/travis/cli/init.rb, line 59
def custom_config
  @custom_config ||= {}
end
help() click to toggle source
Calls superclass method
# File lib/travis/cli/init.rb, line 40
def help
  super("Available languages: #{self.class.languages.join(", ")}\n\n")
end
run(language = nil, file = '.travis.yml') click to toggle source
Calls superclass method Travis::CLI::Enable#run
# File lib/travis/cli/init.rb, line 44
def run(language = nil, file = '.travis.yml')
  error "#{file} already exists, use --force to override" if File.exist?(file) and not force? and not 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

Private Instance Methods

detect_language() click to toggle source
# File lib/travis/cli/init.rb, line 77
def detect_language
  repository.github_language || "Ruby"
end
template(language) click to toggle source
# File lib/travis/cli/init.rb, line 69
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
template_name(language) click to toggle source
# File lib/travis/cli/init.rb, line 65
def template_name(language)
  asset_path "init/#{language}.yml"
end