class Kaiser::Cmds::Init

Public Instance Methods

execute(_opts) click to toggle source
# File lib/kaiser/cmds/init.rb, line 15
def execute(_opts)
  return Optimist.die "Already initialized as #{envname}" if envname

  name = ARGV.shift
  return Optimist.die 'Needs environment name' if name.nil?

  init_config_for_env(name)
  save_config
end
init_config_for_env(name) click to toggle source
# File lib/kaiser/cmds/init.rb, line 25
def init_config_for_env(name)
  Config.config[:envnames][Config.work_dir] = name
  Config.config[:envs][name] = {
    app_port: (largest_port + 1).to_s,
    db_port: (largest_port + 2).to_s
  }
  Config.config[:largest_port] = Config.config[:largest_port] + 2
end
largest_port() click to toggle source
# File lib/kaiser/cmds/init.rb, line 34
def largest_port
  Config.config[:largest_port]
end
usage() click to toggle source

TODO: Add explanation for the Already initialized error.

# File lib/kaiser/cmds/init.rb, line 7
      def usage
        <<~EOS
          Initializes a Kaiser environment and assigns ports for it in \`~/.kaiser/.config.yml\`. When running \`kaiser up\` later the directory \`~/.kaiser/databases/<ENV_NAME>\`  will get created.

          USAGE: kaiser init ENV_NAME
        EOS
      end