vmc 0.4.7 → 0.5.0.beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/vmc.rb +1 -2
- data/lib/vmc/cli.rb +33 -31
- data/lib/vmc/cli/app/app.rb +2 -2
- data/lib/vmc/cli/app/apps.rb +4 -5
- data/lib/vmc/cli/app/crashes.rb +2 -3
- data/lib/vmc/cli/app/delete.rb +28 -25
- data/lib/vmc/cli/app/env.rb +11 -19
- data/lib/vmc/cli/app/files.rb +11 -15
- data/lib/vmc/cli/app/health.rb +2 -3
- data/lib/vmc/cli/app/instances.rb +3 -3
- data/lib/vmc/cli/app/logs.rb +7 -10
- data/lib/vmc/cli/app/push.rb +17 -89
- data/lib/vmc/cli/app/push/create.rb +2 -0
- data/lib/vmc/cli/app/rename.rb +17 -13
- data/lib/vmc/cli/app/restart.rb +4 -7
- data/lib/vmc/cli/app/routes.rb +14 -11
- data/lib/vmc/cli/app/scale.rb +17 -15
- data/lib/vmc/cli/app/start.rb +4 -7
- data/lib/vmc/cli/app/stats.rb +2 -3
- data/lib/vmc/cli/app/stop.rb +3 -5
- data/lib/vmc/cli/domain/add_domain.rb +3 -5
- data/lib/vmc/cli/domain/create_domain.rb +5 -8
- data/lib/vmc/cli/domain/delete_domain.rb +23 -18
- data/lib/vmc/cli/domain/domains.rb +4 -7
- data/lib/vmc/cli/domain/remove_domain.rb +12 -10
- data/lib/vmc/cli/organization/org.rb +6 -7
- data/lib/vmc/cli/organization/orgs.rb +19 -19
- data/lib/vmc/cli/organization/rename.rb +18 -14
- data/lib/vmc/cli/route/create_route.rb +20 -13
- data/lib/vmc/cli/route/{delete_route.rb → delete.rb} +22 -17
- data/lib/vmc/cli/service/bind.rb +2 -2
- data/lib/vmc/cli/service/create.rb +57 -53
- data/lib/vmc/cli/service/delete.rb +33 -31
- data/lib/vmc/cli/service/rename.rb +17 -14
- data/lib/vmc/cli/service/service.rb +5 -8
- data/lib/vmc/cli/service/services.rb +14 -18
- data/lib/vmc/cli/service/unbind.rb +4 -4
- data/lib/vmc/cli/space/create.rb +16 -17
- data/lib/vmc/cli/space/delete.rb +34 -31
- data/lib/vmc/cli/space/rename.rb +20 -17
- data/lib/vmc/cli/space/space.rb +11 -14
- data/lib/vmc/cli/space/spaces.rb +14 -16
- data/lib/vmc/cli/space/take.rb +1 -3
- data/lib/vmc/cli/start/base.rb +2 -0
- data/lib/vmc/cli/start/colors.rb +0 -1
- data/lib/vmc/cli/start/info.rb +8 -10
- data/lib/vmc/cli/start/login.rb +11 -40
- data/lib/vmc/cli/start/logout.rb +0 -1
- data/lib/vmc/cli/start/register.rb +18 -12
- data/lib/vmc/cli/start/target.rb +7 -36
- data/lib/vmc/cli/start/target_interactions.rb +3 -1
- data/lib/vmc/cli/start/targets.rb +0 -1
- data/lib/vmc/cli/user/create.rb +4 -2
- data/lib/vmc/version.rb +1 -1
- data/spec/factories/organization_factory.rb +5 -0
- data/spec/factories/space_factory.rb +15 -0
- data/spec/spec_helper.rb +16 -0
- data/spec/vmc/cli/app/push/create_spec.rb +2 -1
- data/spec/vmc/cli/app/push_spec.rb +1 -1
- data/spec/vmc/cli/organization/orgs_spec.rb +119 -0
- data/spec/vmc/cli/route/delete_route_spec.rb +3 -3
- data/spec/vmc/cli/service/bind_spec.rb +34 -0
- data/spec/vmc/cli/service/delete_spec.rb +32 -0
- data/spec/vmc/cli/service/service_spec.rb +32 -0
- data/spec/vmc/cli/service/unbind_spec.rb +34 -0
- data/spec/vmc/cli/space/spaces_spec.rb +120 -0
- data/spec/vmc/cli/start/info_spec.rb +38 -0
- data/spec/vmc/cli/start/login_spec.rb +40 -0
- metadata +127 -113
- data/lib/vmc/cli/organization/create_org.rb +0 -28
- data/lib/vmc/cli/organization/delete_org.rb +0 -65
- data/lib/vmc/cli/service/binding.rb +0 -66
- data/lib/vmc/cli/user.rb +0 -118
data/lib/vmc/cli/app/rename.rb
CHANGED
@@ -1,22 +1,12 @@
|
|
1
|
-
require "vmc/detect"
|
2
|
-
|
3
1
|
require "vmc/cli/app/base"
|
4
2
|
|
5
3
|
module VMC::App
|
6
4
|
class Rename < Base
|
7
5
|
desc "Rename an application"
|
8
6
|
group :apps, :manage, :hidden => true
|
9
|
-
input
|
10
|
-
:from_given => by_name(
|
11
|
-
|
12
|
-
fail "No applications." if apps.empty?
|
13
|
-
|
14
|
-
ask("Rename which application?", :choices => apps.sort_by(&:name),
|
15
|
-
:display => proc(&:name))
|
16
|
-
}
|
17
|
-
input(:name, :argument => :optional, :desc => "New application name") {
|
18
|
-
ask("New name")
|
19
|
-
}
|
7
|
+
input :app, :desc => "Application to rename", :argument => :optional,
|
8
|
+
:from_given => by_name(:app)
|
9
|
+
input :name, :desc => "New application name", :argument => :optional
|
20
10
|
def rename
|
21
11
|
app = input[:app]
|
22
12
|
name = input[:name]
|
@@ -27,5 +17,19 @@ module VMC::App
|
|
27
17
|
app.update!
|
28
18
|
end
|
29
19
|
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def ask_app
|
24
|
+
apps = client.apps
|
25
|
+
fail "No applications." if apps.empty?
|
26
|
+
|
27
|
+
ask("Rename which application?", :choices => apps.sort_by(&:name),
|
28
|
+
:display => proc(&:name))
|
29
|
+
end
|
30
|
+
|
31
|
+
def ask_name
|
32
|
+
ask("New name")
|
33
|
+
end
|
30
34
|
end
|
31
35
|
end
|
data/lib/vmc/cli/app/restart.rb
CHANGED
@@ -4,13 +4,10 @@ module VMC::App
|
|
4
4
|
class Restart < Base
|
5
5
|
desc "Stop and start an application"
|
6
6
|
group :apps, :manage
|
7
|
-
input :apps, :
|
8
|
-
|
9
|
-
|
10
|
-
input :
|
11
|
-
:desc => "Debug mode to start in"
|
12
|
-
input :all, :type => :boolean, :default => false,
|
13
|
-
:desc => "Restart all applications"
|
7
|
+
input :apps, :desc => "Applications to start", :argument => :splat,
|
8
|
+
:singular => :app, :from_given => by_name(:app)
|
9
|
+
input :debug_mode, :desc => "Debug mode to start in", :aliases => "-d"
|
10
|
+
input :all, :desc => "Restart all applications", :default => false
|
14
11
|
def restart
|
15
12
|
invoke :stop, :all => input[:all], :apps => input[:apps]
|
16
13
|
|
data/lib/vmc/cli/app/routes.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
require "vmc/cli/app/base"
|
2
2
|
|
3
|
+
# TODO: split up, as the URL interaction will differ (see other TODO)
|
3
4
|
module VMC::App
|
4
5
|
class Routes < Base
|
5
6
|
desc "Add a URL mapping for an app"
|
6
7
|
group :apps, :info, :hidden => true
|
7
|
-
input :app, :argument => true,
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
:desc => "URL to map to the application"
|
8
|
+
input :app, :desc => "Application to add the URL to", :argument => true,
|
9
|
+
:from_given => by_name(:app)
|
10
|
+
input :url, :desc => "URL to map to the application", :argument => true
|
11
|
+
# TODO: move push's URL interaction here, and have it just invoke
|
12
12
|
def map
|
13
13
|
app = input[:app]
|
14
14
|
|
@@ -51,12 +51,9 @@ module VMC::App
|
|
51
51
|
|
52
52
|
desc "Remove a URL mapping from an app"
|
53
53
|
group :apps, :info, :hidden => true
|
54
|
-
input :app, :
|
55
|
-
|
56
|
-
|
57
|
-
input(:url, :argument => true, :desc => "URL to unmap") { |choices|
|
58
|
-
ask("Which URL?", :choices => choices)
|
59
|
-
}
|
54
|
+
input :app, :desc => "Application to remove the URL from",
|
55
|
+
:argument => true, :from_given => by_name(:app)
|
56
|
+
input :url, :desc => "URL to unmap", :argument => :optional
|
60
57
|
def unmap
|
61
58
|
app = input[:app]
|
62
59
|
url = input[:url, app.urls]
|
@@ -93,5 +90,11 @@ module VMC::App
|
|
93
90
|
end
|
94
91
|
end
|
95
92
|
end
|
93
|
+
|
94
|
+
private
|
95
|
+
|
96
|
+
def ask_url(choices)
|
97
|
+
ask("Which URL?", :choices => choices)
|
98
|
+
end
|
96
99
|
end
|
97
100
|
end
|
data/lib/vmc/cli/app/scale.rb
CHANGED
@@ -4,21 +4,12 @@ module VMC::App
|
|
4
4
|
class Scale < Base
|
5
5
|
desc "Update the instances/memory limit for an application"
|
6
6
|
group :apps, :info, :hidden => true
|
7
|
-
input :app, :
|
8
|
-
|
9
|
-
input
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
input(:memory, :desc => "Memory limit") { |default|
|
14
|
-
ask("Memory Limit", :choices => memory_choices(default),
|
15
|
-
:allow_other => true,
|
16
|
-
:default => human_mb(default))
|
17
|
-
}
|
18
|
-
input :plan, :default => "D100",
|
19
|
-
:desc => "Application plan (e.g. D100, P200)"
|
20
|
-
input :restart, :type => :boolean, :default => true,
|
21
|
-
:desc => "Restart app after updating?"
|
7
|
+
input :app, :desc => "Application to update", :argument => true,
|
8
|
+
:from_given => by_name(:app)
|
9
|
+
input :instances, :desc => "Number of instances to run", :type => :numeric
|
10
|
+
input :memory, :desc => "Memory limit"
|
11
|
+
input :plan, :desc => "Application plan", :default => "D100"
|
12
|
+
input :restart, :desc => "Restart app after updating?", :default => true
|
22
13
|
def scale
|
23
14
|
app = input[:app]
|
24
15
|
|
@@ -63,5 +54,16 @@ module VMC::App
|
|
63
54
|
invoke :restart, :app => app
|
64
55
|
end
|
65
56
|
end
|
57
|
+
|
58
|
+
private
|
59
|
+
|
60
|
+
def ask_instances(default)
|
61
|
+
ask("Instances", :default => default)
|
62
|
+
end
|
63
|
+
|
64
|
+
def ask_memory(default)
|
65
|
+
ask("Memory Limit", :choices => memory_choices(default),
|
66
|
+
:default => human_mb(default), :allow_other => true)
|
67
|
+
end
|
66
68
|
end
|
67
69
|
end
|
data/lib/vmc/cli/app/start.rb
CHANGED
@@ -6,13 +6,10 @@ module VMC::App
|
|
6
6
|
|
7
7
|
desc "Start an application"
|
8
8
|
group :apps, :manage
|
9
|
-
input :apps, :
|
10
|
-
|
11
|
-
|
12
|
-
input :
|
13
|
-
:desc => "Debug mode to start in"
|
14
|
-
input :all, :type => :boolean, :default => false,
|
15
|
-
:desc => "Start all applications"
|
9
|
+
input :apps, :desc => "Applications to start", :argument => :splat,
|
10
|
+
:singular => :app, :from_given => by_name(:app)
|
11
|
+
input :debug_mode, :desc => "Debug mode to start in", :aliases => "-d"
|
12
|
+
input :all, :desc => "Start all applications", :default => false
|
16
13
|
def start
|
17
14
|
apps = input[:all] ? client.apps : input[:apps]
|
18
15
|
fail "No applications given." if apps.empty?
|
data/lib/vmc/cli/app/stats.rb
CHANGED
@@ -4,9 +4,8 @@ module VMC::App
|
|
4
4
|
class Stats < Base
|
5
5
|
desc "Display application instance status"
|
6
6
|
group :apps, :info, :hidden => true
|
7
|
-
input :app, :
|
8
|
-
|
9
|
-
:from_given => by_name("app")
|
7
|
+
input :app, :desc => "Application to get the stats for",
|
8
|
+
:argument => true, :from_given => by_name(:app)
|
10
9
|
def stats
|
11
10
|
app = input[:app]
|
12
11
|
|
data/lib/vmc/cli/app/stop.rb
CHANGED
@@ -4,11 +4,9 @@ module VMC::App
|
|
4
4
|
class Stop < Base
|
5
5
|
desc "Stop an application"
|
6
6
|
group :apps, :manage
|
7
|
-
input :apps, :
|
8
|
-
|
9
|
-
|
10
|
-
input :all, :type => :boolean, :default => false,
|
11
|
-
:desc => "Stop all applications"
|
7
|
+
input :apps, :desc => "Applications to start", :argument => :splat,
|
8
|
+
:singular => :app, :from_given => by_name(:app)
|
9
|
+
input :all, :desc => "Stop all applications", :default => false
|
12
10
|
def stop
|
13
11
|
apps = input[:all] ? client.apps : input[:apps]
|
14
12
|
fail "No applications given." if apps.empty?
|
@@ -4,12 +4,10 @@ module VMC::Domain
|
|
4
4
|
class AddDomain < Base
|
5
5
|
desc "Add a domain to a space"
|
6
6
|
group :domains
|
7
|
-
input :name, :argument => :required
|
8
|
-
|
9
|
-
input :space, :from_given => by_name("space"),
|
7
|
+
input :name, :desc => "Domain to add", :argument => :required
|
8
|
+
input :space, :desc => "Space to add the domain to",
|
10
9
|
:default => proc { client.current_space },
|
11
|
-
:
|
12
|
-
|
10
|
+
:from_given => by_name(:space)
|
13
11
|
def add_domain
|
14
12
|
space = input[:space]
|
15
13
|
name = input[:name].sub(/^\*\./, "")
|
@@ -4,15 +4,12 @@ module VMC::Domain
|
|
4
4
|
class CreateDomain < Base
|
5
5
|
desc "Create a domain"
|
6
6
|
group :domains
|
7
|
-
input :name, :argument => :required
|
8
|
-
|
9
|
-
|
10
|
-
:from_given => by_name("organization"),
|
7
|
+
input :name, :desc => "Domain name to create", :argument => :required
|
8
|
+
input :organization, :desc => "Organization to add the domain to",
|
9
|
+
:aliases => %w{--org -o},
|
11
10
|
:default => proc { client.current_organization },
|
12
|
-
:
|
13
|
-
input :shared, :
|
14
|
-
:desc => "Create a shared domain (admin-only)"
|
15
|
-
|
11
|
+
:from_given => by_name(:organization)
|
12
|
+
input :shared, :desc => "Create a shared domain", :default => false
|
16
13
|
def create_domain
|
17
14
|
org = input[:organization]
|
18
15
|
name = input[:name].sub(/^\*\./, "")
|
@@ -2,26 +2,18 @@ require "vmc/cli/domain/base"
|
|
2
2
|
|
3
3
|
module VMC::Domain
|
4
4
|
class DeleteDomain < Base
|
5
|
+
# TODO: refactor; using find_by_name, and target cycling between
|
6
|
+
# org/client, is awkward
|
7
|
+
|
5
8
|
desc "Delete a domain"
|
6
9
|
group :domains
|
7
|
-
input
|
8
|
-
:from_given => find_by_name("domain")
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
:
|
14
|
-
}
|
15
|
-
input :organization, :aliases => ["--org", "-o"],
|
16
|
-
:from_given => by_name("organization"),
|
17
|
-
:desc => "Organization to delete the domain from"
|
18
|
-
input(:really, :type => :boolean, :forget => true,
|
19
|
-
:default => proc { force? || interact }) { |name, color|
|
20
|
-
ask("Really delete #{c(name, color)}?", :default => false)
|
21
|
-
}
|
22
|
-
input :all, :type => :boolean, :default => false,
|
23
|
-
:desc => "Delete all domains"
|
24
|
-
|
10
|
+
input :domain, :desc => "URL to map to the application",
|
11
|
+
:argument => :optional, :from_given => find_by_name("domain")
|
12
|
+
input :organization, :desc => "Organization to delete the domain from",
|
13
|
+
:aliases => %w{--org -o}, :from_given => by_name(:organization)
|
14
|
+
input :all, :desc => "Delete all domains", :default => false
|
15
|
+
input :really, :type => :boolean, :forget => true, :hidden => true,
|
16
|
+
:default => proc { force? || interact }
|
25
17
|
def delete_domain
|
26
18
|
target = input[:organization] || client
|
27
19
|
|
@@ -47,5 +39,18 @@ module VMC::Domain
|
|
47
39
|
domain.delete!
|
48
40
|
end
|
49
41
|
end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
def ask_domain(domains)
|
46
|
+
fail "No domains." if domains.empty?
|
47
|
+
|
48
|
+
ask "Which domain?", :choices => domains.sort_by(&:name),
|
49
|
+
:display => proc(&:name)
|
50
|
+
end
|
51
|
+
|
52
|
+
def ask_really(name, color)
|
53
|
+
ask("Really delete #{c(name, color)}?", :default => false)
|
54
|
+
end
|
50
55
|
end
|
51
56
|
end
|
@@ -4,13 +4,10 @@ module VMC::Domain
|
|
4
4
|
class Domains < Base
|
5
5
|
desc "List domains in a space"
|
6
6
|
group :domains
|
7
|
-
input :space, :
|
8
|
-
:default => proc { client.current_space },
|
9
|
-
:from_given => by_name(
|
10
|
-
|
11
|
-
input :all, :type => :boolean, :default => false,
|
12
|
-
:desc => "List all domains"
|
13
|
-
|
7
|
+
input :space, :desc => "Space to list the domains from",
|
8
|
+
:argument => :optional, :default => proc { client.current_space },
|
9
|
+
:from_given => by_name(:space)
|
10
|
+
input :all, :desc => "List all domains", :default => false
|
14
11
|
def domains
|
15
12
|
space = input[:space]
|
16
13
|
|
@@ -4,16 +4,11 @@ module VMC::Domain
|
|
4
4
|
class RemoveDomain < Base
|
5
5
|
desc "Remove a domain from a space"
|
6
6
|
group :domains
|
7
|
-
input
|
8
|
-
:from_given => by_name(
|
9
|
-
|
10
|
-
|
11
|
-
:
|
12
|
-
}
|
13
|
-
input :space, :from_given => by_name("space"),
|
14
|
-
:default => proc { client.current_space },
|
15
|
-
:desc => "Space to add the domain to"
|
16
|
-
|
7
|
+
input :domain, :desc => "Domain to add", :argument => :optional,
|
8
|
+
:from_given => by_name(:domain)
|
9
|
+
input :space, :desc => "Space to add the domain to",
|
10
|
+
:from_given => by_name(:space),
|
11
|
+
:default => proc { client.current_space }
|
17
12
|
def remove_domain
|
18
13
|
space = input[:space]
|
19
14
|
domain = input[:domain, space]
|
@@ -22,5 +17,12 @@ module VMC::Domain
|
|
22
17
|
space.remove_domain(domain)
|
23
18
|
end
|
24
19
|
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def ask_domain(space)
|
24
|
+
ask "Which domain?", :choices => space.domains,
|
25
|
+
:display => proc(&:name)
|
26
|
+
end
|
25
27
|
end
|
26
28
|
end
|
@@ -4,13 +4,12 @@ module VMC::Organization
|
|
4
4
|
class Org < Base
|
5
5
|
desc "Show organization information"
|
6
6
|
group :organizations
|
7
|
-
input :organization, :
|
8
|
-
:argument => :optional,
|
9
|
-
:from_given => by_name(
|
10
|
-
:default => proc { client.current_organization }
|
11
|
-
|
12
|
-
|
13
|
-
:desc => "Show full information for spaces, domains, etc."
|
7
|
+
input :organization, :desc => "Organization to show",
|
8
|
+
:aliases => %w{--org -o}, :argument => :optional,
|
9
|
+
:from_given => by_name(:organization),
|
10
|
+
:default => proc { client.current_organization }
|
11
|
+
input :full, :desc => "Show full information for spaces, domains, etc.",
|
12
|
+
:default => false
|
14
13
|
def org
|
15
14
|
org = input[:organization]
|
16
15
|
|
@@ -4,32 +4,32 @@ module VMC::Organization
|
|
4
4
|
class Orgs < Base
|
5
5
|
desc "List available organizations"
|
6
6
|
group :organizations
|
7
|
-
input :
|
8
|
-
:
|
9
|
-
input :full, :type => :boolean, :default => false,
|
10
|
-
:desc => "Show full information for apps, service instances, etc."
|
7
|
+
input :full, :desc => "Show full information for apps, services, etc.",
|
8
|
+
:default => false
|
11
9
|
def orgs
|
12
10
|
orgs =
|
13
|
-
|
14
|
-
|
15
|
-
|
11
|
+
with_progress("Getting organizations") do
|
12
|
+
client.organizations.sort_by(&:name)
|
13
|
+
end
|
14
|
+
|
15
|
+
return if orgs.empty?
|
16
16
|
|
17
17
|
line unless quiet?
|
18
18
|
|
19
|
-
if input[:
|
20
|
-
table(
|
21
|
-
%w{name spaces domains},
|
22
|
-
orgs.collect { |o|
|
23
|
-
[ c(o.name, :name),
|
24
|
-
name_list(o.spaces),
|
25
|
-
name_list(o.domains)
|
26
|
-
]
|
27
|
-
})
|
28
|
-
else
|
19
|
+
if input[:full]
|
29
20
|
orgs.each do |o|
|
30
|
-
invoke :org, :organization => o, :full =>
|
21
|
+
invoke :org, :organization => o, :full => true
|
31
22
|
end
|
23
|
+
else
|
24
|
+
table(
|
25
|
+
%w{name spaces domains},
|
26
|
+
orgs.collect { |o|
|
27
|
+
[ c(o.name, :name),
|
28
|
+
name_list(o.spaces),
|
29
|
+
name_list(o.domains)
|
30
|
+
]
|
31
|
+
})
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
35
|
-
end
|
35
|
+
end
|
@@ -1,23 +1,13 @@
|
|
1
|
-
require "vmc/detect"
|
2
|
-
|
3
1
|
require "vmc/cli/organization/base"
|
4
2
|
|
5
3
|
module VMC::Organization
|
6
4
|
class Rename < Base
|
7
5
|
desc "Rename an organization"
|
8
6
|
group :organizations, :hidden => true
|
9
|
-
input
|
10
|
-
:
|
11
|
-
:from_given => by_name(
|
12
|
-
|
13
|
-
fail "No organizations." if organizations.empty?
|
14
|
-
|
15
|
-
ask("Rename which organization?", :choices => organizations.sort_by(&:name),
|
16
|
-
:display => proc(&:name))
|
17
|
-
}
|
18
|
-
input(:name, :argument => :optional, :desc => "New organization name") {
|
19
|
-
ask("New name")
|
20
|
-
}
|
7
|
+
input :organization, :desc => "Organization to rename",
|
8
|
+
:aliases => ["--org", "-o"], :argument => :optional,
|
9
|
+
:from_given => by_name(:organization)
|
10
|
+
input :name, :desc => "New organization name", :argument => :optional
|
21
11
|
def rename_org
|
22
12
|
organization = input[:organization]
|
23
13
|
name = input[:name]
|
@@ -28,5 +18,19 @@ module VMC::Organization
|
|
28
18
|
organization.update!
|
29
19
|
end
|
30
20
|
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def ask_name
|
25
|
+
ask("New name")
|
26
|
+
end
|
27
|
+
|
28
|
+
def ask_organization
|
29
|
+
organizations = client.organizations
|
30
|
+
fail "No organizations." if organizations.empty?
|
31
|
+
|
32
|
+
ask("Rename which organization?", :choices => organizations.sort_by(&:name),
|
33
|
+
:display => proc(&:name))
|
34
|
+
end
|
31
35
|
end
|
32
36
|
end
|