Module: Capistrano::Cluster::DSL

Defined in:
lib/capistrano/cluster/application.rb

Instance Method Summary collapse

Instance Method Details

#application(&block) ⇒ Object



22
23
24
# File 'lib/capistrano/cluster/application.rb', line 22

def application(&block)
  fetch(:applications) << Application.new(&block)
end

#applications(*names, &block) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
# File 'lib/capistrano/cluster/application.rb', line 49

def applications(*names, &block)
  names.compact!
  fetch(:applications).map do |application|
    with_application application do
      if names.include? "#{fetch(:application)}" or names.empty?
        yield if block_given?
        application
      end
    end
  end.compact
end

#configure_application(application) ⇒ Object



26
27
28
29
30
31
# File 'lib/capistrano/cluster/application.rb', line 26

def configure_application(application)
  original_env = Capistrano::Configuration.env
  Capistrano::Configuration.env = original_env.copy
  application.configure!
  original_env
end

#login_as(user, on: nil, &block) ⇒ Object



33
34
35
36
37
38
39
40
# File 'lib/capistrano/cluster/application.rb', line 33

def (user, on: nil, &block)
  if on
    old_user,on.user = on.user, "#{user}"
  end
  yield
ensure
  on.user = "#{old_user}" if on
end

#with_application(application, &block) ⇒ Object



42
43
44
45
46
47
# File 'lib/capistrano/cluster/application.rb', line 42

def with_application(application, &block)
  original_env = configure_application(application)
  yield
ensure
  Capistrano::Configuration.env = original_env
end