class Irc::Bot::Auth::Command
An Irc::Bot::Auth::Command
defines a command by its “path”:
base::command::subcommand::subsubcommand::subsubsubcommand
Attributes
command[R]
path[R]
Public Class Methods
new(cmd)
click to toggle source
Creates a new Command
from a given string; you can then access the command as a symbol with the :command method and the whole path as :path
Command.new("core::auth::save").path => [:"*", :"core", :"core::auth", :"core::auth::save"] Command.new("core::auth::save").command => :"core::auth::save"
# File lib/rbot/botuser.rb, line 92 def initialize(cmd) cmdpath = sanitize_command_path(cmd).split('::') seq = cmdpath.inject(["*"]) { |list, cc| list << (list.length > 1 ? list.last + "::" : "") + cc } @path = seq.map { |k| k.to_sym } @command = path.last debug "Created command #{@command.inspect} with path #{@path.pretty_inspect}" end
Public Instance Methods
sanitize_command_path(cmd)
click to toggle source
A method that checks if a given cmd is in a form that can be reduced into a canonical command path, and if so, returns it
# File lib/rbot/botuser.rb, line 77 def sanitize_command_path(cmd) pre = cmd.to_s.downcase.gsub(/^\*?(?:::)?/,"").gsub(/::$/,"") return pre if pre.empty? return pre if pre =~ /^\S+(::\S+)*$/ raise TypeError, "#{cmd.inspect} is not a valid command" end
to_irc_auth_command()
click to toggle source
Returs self
# File lib/rbot/botuser.rb, line 105 def to_irc_auth_command self end