Class: Capistrano::Command::Tree

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/capistrano/command.rb

Defined Under Namespace

Classes: Branch, ConditionBranch, ElseBranch

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) {|_self| ... } ⇒ Tree

Returns a new instance of Tree.

Yields:

  • (_self)

Yield Parameters:



104
105
106
107
108
# File 'lib/capistrano/command.rb', line 104

def initialize(config)
  @configuration = config
  @branches = []
  yield self if block_given?
end

Instance Attribute Details

#branchesObject (readonly)

Returns the value of attribute branches.



14
15
16
# File 'lib/capistrano/command.rb', line 14

def branches
  @branches
end

#configurationObject (readonly)

Returns the value of attribute configuration.



13
14
15
# File 'lib/capistrano/command.rb', line 13

def configuration
  @configuration
end

#fallbackObject (readonly)

Returns the value of attribute fallback.



15
16
17
# File 'lib/capistrano/command.rb', line 15

def fallback
  @fallback
end

Instance Method Details

#branches_for(server) ⇒ Object



118
119
120
121
122
123
124
125
126
127
128
# File 'lib/capistrano/command.rb', line 118

def branches_for(server)
  seen_last = false
  matches = branches.select do |branch|
    success = !seen_last && !branch.skip? && branch.match(server)
    seen_last = success && branch.last?
    success
  end

  matches << fallback if matches.empty? && fallback
  return matches
end

#each {|fallback| ... } ⇒ Object

Yields:



130
131
132
133
134
# File 'lib/capistrano/command.rb', line 130

def each
  branches.each { |branch| yield branch }
  yield fallback if fallback
  return self
end

#else(command, &block) ⇒ Object



114
115
116
# File 'lib/capistrano/command.rb', line 114

def else(command, &block)
  @fallback = ElseBranch.new(command, {}, block)
end

#when(condition, command, options = {}, &block) ⇒ Object



110
111
112
# File 'lib/capistrano/command.rb', line 110

def when(condition, command, options={}, &block)
  branches << ConditionBranch.new(configuration, condition, command, options, block)
end