class GitCompound::Command::Procedure::Procedure
Abstract Procedure
class
Debug cases for Procedure
Attributes
steps[R]
Public Class Methods
new(_opts)
click to toggle source
# File lib/git_compound/command/procedure/procedure.rb, line 7 def initialize(_opts) end
options()
click to toggle source
Valid options available for this procedure see Element::Option
# File lib/git_compound/command/procedure/procedure.rb, line 35 def options {} end
to_s()
click to toggle source
Name of procedure
# File lib/git_compound/command/procedure/procedure.rb, line 41 def to_s name.split('::').last .gsub(/::/, '/') .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') .gsub(/([a-z\d])([A-Z])/, '\1_\2') .tr('-', '_') .downcase end
Private Class Methods
step(name, &block)
click to toggle source
# File lib/git_compound/command/procedure/procedure.rb, line 52 def step(name, &block) raise GitCompoundError, 'No block given !' unless block @steps = {} unless @steps @steps.store(name, block) end
Public Instance Methods
execute()
click to toggle source
Main procedure entry point
# File lib/git_compound/command/procedure/procedure.rb, line 18 def execute self.class.steps.to_h.keys.each do |name| execute_step(name) end end
execute!()
click to toggle source
Method with additional messages etc.
# File lib/git_compound/command/procedure/procedure.rb, line 12 def execute! execute end
execute_step(name)
click to toggle source
# File lib/git_compound/command/procedure/procedure.rb, line 24 def execute_step(name) step_proc = self.class.steps.to_h[name] instance_eval(&step_proc) if step_proc end