class Rancher::ConfigGenerator

Public Instance Methods

create_ranche_compose() click to toggle source
# File lib/generators/rancher/config/config_generator.rb, line 29
def create_ranche_compose
  template 'rancher-compose.yml', 'rancher/rancher-compose.yml'
end
create_rancher_config() click to toggle source
# File lib/generators/rancher/config/config_generator.rb, line 19
def create_rancher_config
  template 'rancherconfig.json', 'rancher/rancherconfig.json'
end
create_rancher_task() click to toggle source
# File lib/generators/rancher/config/config_generator.rb, line 38
def create_rancher_task
  template 'rancher.rake', 'lib/tasks/rancher.rake'
end
create_rancher_wrapper() click to toggle source
# File lib/generators/rancher/config/config_generator.rb, line 33
def create_rancher_wrapper
  template 'rancher', 'bin/rancher'
  run('chmod +x bin/rancher')
end
ignore_rancher_config() click to toggle source
# File lib/generators/rancher/config/config_generator.rb, line 23
def ignore_rancher_config
  ignore('.gitignore', 'rancher/rancherconfig.json')
  ignore('.dockerignore', 'lib/tasks/rancher.rake')
  ignore('.dockerignore', 'rancher/')
end
setup() click to toggle source
# File lib/generators/rancher/config/config_generator.rb, line 4
def setup
  config = file?('rancher/rancherconfig.json') ? load_json_file('rancher/rancherconfig.json') : {}
  docker_config = file?('docker/dockerconfig.json') ? load_json_file('docker/dockerconfig.json') : {}

  @docker_compose_config = YAML.load_file(docker_config['prod_yml'])
  @services = @docker_compose_config['services'].each_with_object([]) { |(key, _value), r| r << key; }
  @url = ask_with_default('Rancher URL:[example:http://<server_ip>:8080]', config['url'] || '')
  @access_key = ask_with_default('ACCESS KEY:', config['accessKey'])
  @secret_key = ask_with_default('SECRET KEY:', config['secretKey'])
  @environment = ask_with_default('Enviroment Id Or Name:', config['environment'])
  @stack = ask_with_default('stack name:', config['stack'] || File.basename(Dir.getwd))

  @debug = false
end

Private Instance Methods

ask_with_default(statement, default_value) click to toggle source
# File lib/generators/rancher/config/config_generator.rb, line 60
def ask_with_default(statement, default_value)
  answer = ask("#{statement}[#{default_value}]:", Thor::Shell::Color::BLUE)
  answer.present? ? answer : default_value
end
file?(path) click to toggle source
# File lib/generators/rancher/config/config_generator.rb, line 44
def file?(path)
  File.exist?(path)
end
ignore(filename, content) click to toggle source
# File lib/generators/rancher/config/config_generator.rb, line 48
def ignore(filename, content)
  if file? filename
    append_to_file filename, content+"\n"
  else
    create_file filename, content
  end
end
load_json_file(file) click to toggle source
# File lib/generators/rancher/config/config_generator.rb, line 56
def load_json_file(file)
  JSON.parse(File.read(file))
end