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



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

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

#command(*args) ⇒ Object



41
42
43
# File 'lib/ccp/commands/composite.rb', line 41

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

#commandsObject



45
46
47
# File 'lib/ccp/commands/composite.rb', line 45

def commands
  @commands ||= []
end

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



28
29
30
# File 'lib/ccp/commands/composite.rb', line 28

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