Class: CobraCommander::CompositeCommand
- Inherits:
-
Object
- Object
- CobraCommander::CompositeCommand
- Defined in:
- lib/cobracommander/composite_command.rb
Overview
Abstract
Instance Attribute Summary collapse
-
#cmds ⇒ Object
readonly
Returns the value of attribute cmds.
Instance Method Summary collapse
-
#add_commands(*commands) ⇒ Object
Void.
-
#execute ⇒ Object
Error.
-
#expose ⇒ Object
Array.
-
#initialize(*commands) ⇒ Object
constructor
Void.
-
#remove_commands(*commands) ⇒ Object
Void.
-
#unexecute ⇒ Object
Error.
Constructor Details
#initialize(*commands) ⇒ Object
Returns void.
8 9 10 |
# File 'lib/cobracommander/composite_command.rb', line 8 def initialize(*commands) @cmds = commands end |
Instance Attribute Details
#cmds ⇒ Object (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.
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 |
#execute ⇒ Object
Returns Error.
38 39 40 |
# File 'lib/cobracommander/composite_command.rb', line 38 def execute raise NotImplementedError end |
#expose ⇒ Object
Returns Array.
14 15 16 |
# File 'lib/cobracommander/composite_command.rb', line 14 def expose @cmds end |
#remove_commands(*commands) ⇒ Object
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 |
#unexecute ⇒ Object
Returns Error.
44 45 46 |
# File 'lib/cobracommander/composite_command.rb', line 44 def unexecute raise NotImplementedError end |