Module: VMC::App::Sync

Included in:
Push
Defined in:
lib/vmc/cli/app/push/sync.rb

Instance Method Summary collapse

Instance Method Details

#apply_changes(app) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/vmc/cli/app/push/sync.rb', line 3

def apply_changes(app)
  app.memory = megabytes(input[:memory]) if input.given?(:memory)
  app.total_instances = input[:instances] if input.given?(:instances)
  app.command = input[:command] if input.given?(:command)
  app.production = input[:plan].upcase.start_with?("P") if input.given?(:plan)
  app.framework = input[:framework] if input.given?(:framework)
  app.runtime = input[:runtime] if input.given?(:runtime)
end

#commit_changes(app) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/vmc/cli/app/push/sync.rb', line 22

def commit_changes(app)
  if app.changed?
    with_progress("Updating #{c(app.name, :name)}") do
      app.update!
    end
  end

  if input[:restart] && app.started?
    invoke :restart, :app => app
  end
end

#display_changes(app) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/vmc/cli/app/push/sync.rb', line 12

def display_changes(app)
  return unless app.changed?

  line "Changes:"

  app.changes.each do |attr, (old, new)|
    line "#{c(attr, :name)}: #{diff_str(attr, old)} -> #{diff_str(attr, new)}"
  end
end