Module: ClasslessMud::Commands
- Defined in:
- lib/classless_mud/commands.rb,
lib/classless_mud/commands/eat.rb,
lib/classless_mud/commands/get.rb,
lib/classless_mud/commands/say.rb,
lib/classless_mud/commands/who.rb,
lib/classless_mud/commands/chat.rb,
lib/classless_mud/commands/look.rb,
lib/classless_mud/commands/move.rb,
lib/classless_mud/commands/quit.rb,
lib/classless_mud/commands/dance.rb,
lib/classless_mud/commands/score.rb,
lib/classless_mud/commands/whisper.rb,
lib/classless_mud/commands/commands.rb,
lib/classless_mud/commands/character.rb,
lib/classless_mud/commands/inventory.rb,
lib/classless_mud/commands/bad_command.rb
Defined Under Namespace
Modules: Admin
Classes: BadCommand, Character, Chat, Commands, Dance, Eat, Get, Inventory, Look, Move, Quit, Say, Score, Whisper, Who
Constant Summary
collapse
- ALIASES_TO_COMMANDS_MAP =
{
'north' => Move,
'west' => Move,
'south' => Move,
'east' => Move
}
- CONNECTORS =
['to']
Class Method Summary
collapse
Class Method Details
.admin_commands ⇒ Object
26
27
28
29
30
|
# File 'lib/classless_mud/commands.rb', line 26
def self.admin_commands
ClasslessMud::Commands::Admin.constants
.select { |c| Class === ClasslessMud::Commands::Admin.const_get(c) }
.map { |c| ClasslessMud::Commands::Admin.const_get(c) }
end
|
.all_commands ⇒ Object
16
17
18
|
# File 'lib/classless_mud/commands.rb', line 16
def self.all_commands
regular_commands + admin_commands
end
|
.parse(data) ⇒ Object
10
11
12
13
14
|
# File 'lib/classless_mud/commands.rb', line 10
def self.parse data
command = data.split[0]
return ALIASES_TO_COMMANDS_MAP[command] if ALIASES_TO_COMMANDS_MAP.has_key?(command)
all_commands.detect(-> { BadCommand }) { |c| c.name.demodulize.to_s.downcase == command }
end
|
.regular_commands ⇒ Object
20
21
22
23
24
|
# File 'lib/classless_mud/commands.rb', line 20
def self.regular_commands
ClasslessMud::Commands.constants
.select { |c| Class === ClasslessMud::Commands.const_get(c) }
.map { |c| ClasslessMud::Commands.const_get(c) }
end
|