Sha256: 5c448a4582bd6ae43f637d7bcc861fedea78785daa89bf2695c731d016dde66e

Contents?: true

Size: 1.17 KB

Versions: 10

Compression:

Stored size: 1.17 KB

Contents

require "yaml"

module Jack
  class Create
    include Util

    def initialize(options={})
      @options = options
      @root = options[:root] || '.'
      @env_name = options[:env_name]
      @app_name = options[:app] || app_name_convention(@env_name)
    end

    def run
      create_app
      EbConfig::Create.new(@options).sync unless @options[:noop]
      create_env
    end

    def create_app
      eb.create_application(
        application_name: @app_name
      ) unless app_exist?
    end

    def app_exist?
      return true if @options[:noop]
      r = eb.describe_applications
      r.applications.collect(&:application_name).include?(@app_name)
    end

    def create_env
      command = build_command
      do_cmd(command, @options)
    end

    def build_command
      @cfg = upload_cfg
      flags = CreateYaml.new.flags
      "eb create --sample --nohang #{flags} #{@cfg}#{cname}#{@env_name}"
    end

    def upload_cfg
      @upload = Config::Upload.new(@options.merge(skip_sync: true))
      if @upload.local_cfg_exist?
        @upload.upload 
        cfg = "--cfg #{@upload.upload_name} "
      end
    end

    def cname
      "--cname #{@env_name} "
    end

  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
jack-eb-0.1.6 lib/jack/create.rb
jack-eb-0.1.5 lib/jack/create.rb
jack-eb-0.1.4 lib/jack/create.rb
jack-eb-0.1.3 lib/jack/create.rb
jack-eb-0.1.2 lib/jack/create.rb
jack-eb-0.1.1 lib/jack/create.rb
jack-eb-0.1.0 lib/jack/create.rb
jack-eb-0.0.9 lib/jack/create.rb
jack-eb-0.0.8 lib/jack/create.rb
jack-eb-0.0.7 lib/jack/create.rb