Module: Ccp::Commands::Composite::ClassMethods

Includes:
Resolvable
Defined in:
lib/ccp/commands/composite.rb

Overview

Class Methods

Instance Method Summary collapse

Methods included from Resolvable

#resolve

Instance Method Details

#append_command(klass, *args, &block) ⇒ Object



34
35
36
37
38
39
40
41
# File 'lib/ccp/commands/composite.rb', line 34

def append_command(klass, *args, &block)
  klass = resolve(klass)
  if commands.find{|cc| cc.klass == klass and cc.args == args}
    # ignore: already added
  else
    commands << CommandClass.new(klass, args, block)
  end
end

#command(*args) ⇒ Object



43
44
45
# File 'lib/ccp/commands/composite.rb', line 43

def command(*args)
  append_command(*args)
end

#commandsObject



47
48
49
# File 'lib/ccp/commands/composite.rb', line 47

def commands
  @commands ||= []
end

#prepend_command(klass, *args, &block) ⇒ Object



30
31
32
# File 'lib/ccp/commands/composite.rb', line 30

def prepend_command(klass, *args, &block)
  commands.unshift CommandClass.new(resolve(klass), args, block)
end