module Ccp::Commands::Composite
Constants
- CommandClass
Public Class Methods
included(base)
click to toggle source
Calls superclass method
Ccp::Commands::Core::included
# File lib/ccp/commands/composite.rb, line 4 def self.included(base) super base.class_eval do include Core extend CommandManager end end
Public Instance Methods
commands()
click to toggle source
Enumerable
# File lib/ccp/commands/composite.rb, line 61 def commands @commands ||= build_commands.must(Array) end
execute()
click to toggle source
# File lib/ccp/commands/composite.rb, line 68 def execute commands.each do |c| c.receiver.execute(c) end end
receiver=(value)
click to toggle source
Calls superclass method
# File lib/ccp/commands/composite.rb, line 74 def receiver=(value) super commands.each{|c| c.receiver = value} end
Private Instance Methods
build_commands()
click to toggle source
# File lib/ccp/commands/composite.rb, line 80 def build_commands array = self.class.commands.select{|c| c.cond.nil? or instance_eval(&c.cond)} cmds = array.map{|c| c = c.klass.new(*c.args) c.receiver = receiver c } end