Sha256: fc958d294eb931e3361f360cea13678674a6573211b3de495b55c4bf08a32fb7
Contents?: true
Size: 941 Bytes
Versions: 1
Compression:
Stored size: 941 Bytes
Contents
module Zeus module Plan class Stage < Node attr_reader :actions def initialize(name) super(name) @actions = [] end def action(&b) @actions << b self end def desc(desc) @desc = desc end def stage(name, &b) @stages << Plan::Stage.new(name).tap { |s| s.instance_eval(&b) } self end def command(name, *aliases, &b) @stages << Plan::Acceptor.new(name, aliases, @desc, &b) @desc = nil self end # ^ configuration # V later use def acceptors stages.map(&:acceptors).flatten end def to_process_object(server) Zeus::Server::Stage.new(server).tap do |stage| stage.name = @name stage.stages = @stages.map { |stage| stage.to_process_object(server) } stage.actions = @actions end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zeus-0.4.6 | lib/zeus/plan/stage.rb |