vmc 0.4.0.beta.47 → 0.4.0.beta.48

Sign up to get free protection for your applications and to get access to all the features.
@@ -131,6 +131,8 @@ module VMC
131
131
  input(:command, :desc => "Startup command for standalone app") {
132
132
  ask("Startup command")
133
133
  }
134
+ input :plan, :default => "D100",
135
+ :desc => "Application plan (e.g. D100, P200)"
134
136
  input :start, :type => :boolean, :default => true,
135
137
  :desc => "Start app after pushing?"
136
138
  input :restart, :type => :boolean, :default => true,
@@ -162,20 +164,21 @@ module VMC
162
164
  app.name = name
163
165
  app.space = client.current_space if client.current_space
164
166
  app.total_instances = input[:instances]
167
+ app.production = input[:plan].capitalize.start_with?("P")
165
168
 
166
169
  detector = Detector.new(client, path)
167
170
  frameworks = detector.all_frameworks
168
171
  detected, default = detector.frameworks
169
172
 
170
173
  if detected.empty?
171
- framework = input[:framework, frameworks, nil, false]
174
+ framework = input[:framework, frameworks]
172
175
  else
173
176
  detected_names = detected.collect(&:name).sort
174
- framework = input[:framework, detected, default, true]
177
+ framework = input[:framework, detected, default, :other]
175
178
 
176
179
  if framework == :other
177
180
  input.forget(:framework)
178
- framework = input[:framework, frameworks, nil, false]
181
+ framework = input[:framework, frameworks]
179
182
  end
180
183
  end
181
184
 
@@ -188,10 +191,10 @@ module VMC
188
191
  app.framework = framework
189
192
  app.runtime = runtime
190
193
 
191
- app.command = input[:command] if framework == "standalone"
194
+ app.command = input[:command] if framework.name == "standalone"
192
195
 
193
196
  url =
194
- if framework == "standalone"
197
+ if framework.name == "standalone"
195
198
  if (given = input[:url, "none"]) != "none"
196
199
  given
197
200
  end
@@ -412,6 +415,8 @@ module VMC
412
415
  :allow_other => true,
413
416
  :default => human_size(default * 1024 * 1024, 0))
414
417
  }
418
+ input :plan, :default => "D100",
419
+ :desc => "Application plan (e.g. D100, P200)"
415
420
  input :restart, :type => :boolean, :default => true,
416
421
  :desc => "Restart app after updating?"
417
422
  def scale
@@ -419,22 +424,26 @@ module VMC
419
424
 
420
425
  instances = input.given(:instances)
421
426
  memory = input.given(:memory)
427
+ plan_name = input.given(:plan)
422
428
 
423
- unless instances || memory
429
+ unless instances || memory || plan_name
424
430
  instances = input[:instances, app.total_instances]
425
431
  memory = input[:memory, app.memory]
426
432
  end
427
433
 
428
434
  megs = megabytes(memory)
435
+ production = plan_name && plan_name.capitalize.start_with?("P")
429
436
 
430
437
  memory_changed = megs != app.memory
431
438
  instances_changed = instances != app.total_instances
439
+ plan_changed = production != app.production
432
440
 
433
- return unless memory_changed || instances_changed
441
+ return unless memory_changed || instances_changed || plan_changed
434
442
 
435
443
  with_progress("Scaling #{c(app.name, :name)}") do
436
- app.total_instances = instances.to_i if instances
437
- app.memory = megs if memory
444
+ app.total_instances = instances.to_i if instances_changed
445
+ app.memory = megs if memory_changed
446
+ app.production = production if plan_changed
438
447
  app.update!
439
448
  end
440
449
 
@@ -38,7 +38,7 @@ module VMC
38
38
  matched = false
39
39
 
40
40
  # e.g. standalone has no detection
41
- next if framework.detection.nil?
41
+ next if framework.detection.nil? || framework.detection.empty?
42
42
 
43
43
  framework.detection.first.each do |file, match|
44
44
  files =
@@ -67,11 +67,15 @@ module VMC
67
67
  matched = false
68
68
  break
69
69
  else
70
- files.each do |f|
71
- contents = File.open(f, &:read)
72
- if contents =~ Regexp.new(match)
73
- matched = true
70
+ begin
71
+ files.each do |f|
72
+ contents = File.open(f, &:read)
73
+ if contents =~ Regexp.new(match)
74
+ matched = true
75
+ end
74
76
  end
77
+ rescue RegexpError
78
+ # some regexps may fail on 1.8 as the server runs 1.9
75
79
  end
76
80
  end
77
81
  end
@@ -1,3 +1,3 @@
1
1
  module VMC
2
- VERSION = "0.4.0.beta.47"
2
+ VERSION = "0.4.0.beta.48"
3
3
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vmc
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3780277393
4
+ hash: -3893770324
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
9
  - 0
10
10
  - beta
11
- - 47
12
- version: 0.4.0.beta.47
11
+ - 48
12
+ version: 0.4.0.beta.48
13
13
  platform: ruby
14
14
  authors:
15
15
  - VMware
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2012-09-07 00:00:00 Z
20
+ date: 2012-09-10 00:00:00 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: json_pure
@@ -265,12 +265,12 @@ dependencies:
265
265
  requirements:
266
266
  - - ~>
267
267
  - !ruby/object:Gem::Version
268
- hash: 47
268
+ hash: 45
269
269
  segments:
270
270
  - 0
271
271
  - 3
272
- - 30
273
- version: 0.3.30
272
+ - 31
273
+ version: 0.3.31
274
274
  type: :runtime
275
275
  version_requirements: *id015
276
276
  - !ruby/object:Gem::Dependency