Sha256: f6178cae3152fe41462ddbc977667f010e83bb92bf6f5b6ac507e0c1732e4ade

Contents?: true

Size: 1.59 KB

Versions: 11

Compression:

Stored size: 1.59 KB

Contents

require "vmc/cli/space/base"

module VMC::Space
  class Create < Base
    desc "Create a space in an organization"
    group :spaces
    input :name, :desc => "Space name", :argument => :optional
    input :organization, :desc => "Parent organization",
          :argument => :optional, :aliases => ["--org", "-o"],
          :from_given => by_name(:organization),
          :default => proc { client.current_organization }
    input :target, :desc => "Switch to the space after creation",
          :alias => "-t", :default => false
    input :manager, :desc => "Add yourself as manager", :default => true
    input :developer, :desc => "Add yourself as developer", :default => true
    input :auditor, :desc => "Add yourself as auditor", :default => false
    def create_space
      space = client.space
      space.organization = input[:organization]
      space.name = input[:name]

      with_progress("Creating space #{c(space.name, :name)}") do
        space.create!
      end

      if input[:manager]
        with_progress("Adding you as a manager") do
          space.add_manager client.current_user
        end
      end

      if input[:developer]
        with_progress("Adding you as a developer") do
          space.add_developer client.current_user
        end
      end

      if input[:auditor]
        with_progress("Adding you as an auditor") do
          space.add_auditor client.current_user
        end
      end

      if input[:target]
        invoke :target, :organization => space.organization,
          :space => space
      end
    end

    private

    def ask_name
      ask("Name")
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
vmc-0.5.0.rc1 lib/vmc/cli/space/create.rb
vmc-0.5.0.beta.12 lib/vmc/cli/space/create.rb
vmc-0.5.0.beta.11 lib/vmc/cli/space/create.rb
vmc-0.5.0.beta.10 lib/vmc/cli/space/create.rb
vmc-0.5.0.beta.7 lib/vmc/cli/space/create.rb
vmc-0.5.0.beta.6 lib/vmc/cli/space/create.rb
vmc-0.5.0.beta.5 lib/vmc/cli/space/create.rb
vmc-0.5.0.beta.4 lib/vmc/cli/space/create.rb
vmc-0.5.0.beta.3 lib/vmc/cli/space/create.rb
vmc-0.5.0.beta.2 lib/vmc/cli/space/create.rb
vmc-0.5.0.beta.1 lib/vmc/cli/space/create.rb