Class: CobraCommander::CompositeCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/cobracommander/composite_command.rb

Overview

Abstract

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*commands) ⇒ Object

Returns void.

Parameters:

  • Array


8
9
10
# File 'lib/cobracommander/composite_command.rb', line 8

def initialize(*commands)
  @cmds = commands
end

Instance Attribute Details

#cmdsObject (readonly)

Returns the value of attribute cmds.



4
5
6
# File 'lib/cobracommander/composite_command.rb', line 4

def cmds
  @cmds
end

Instance Method Details

#add_commands(*commands) ⇒ Object

Returns void.

Parameters:

  • Command

Returns:

  • void



20
21
22
23
24
25
# File 'lib/cobracommander/composite_command.rb', line 20

def add_commands(*commands)
  commands.each do |cmd|
    raise "#{cmd} is not a valid Command object." unless cmd.is_a?(CobraCommander::Command)
    @cmds << cmd
  end
end

#executeObject

Returns Error.

Parameters:

  • nil

Returns:

  • Error

Raises:

  • (NotImplementedError)


38
39
40
# File 'lib/cobracommander/composite_command.rb', line 38

def execute
  raise NotImplementedError
end

#exposeObject

Returns Array.

Parameters:

  • nil

Returns:

  • Array



14
15
16
# File 'lib/cobracommander/composite_command.rb', line 14

def expose
  @cmds
end

#remove_commands(*commands) ⇒ Object

Returns void.

Parameters:

  • Command

Returns:

  • void



29
30
31
32
33
34
# File 'lib/cobracommander/composite_command.rb', line 29

def remove_commands(*commands)
  commands.each do |cmd|
    raise "This instance of #{self.class} does not contain any #{cmd} objects." unless @cmds.include?(cmd)
    @cmds.delete_at(@cmds.rindex(cmd))
  end
end

#unexecuteObject

Returns Error.

Parameters:

  • nil

Returns:

  • Error

Raises:

  • (NotImplementedError)


44
45
46
# File 'lib/cobracommander/composite_command.rb', line 44

def unexecute
  raise NotImplementedError
end