Module: Ircp

Defined in:
lib/ircp.rb,
lib/ircp/prefix.rb,
lib/ircp/message.rb,
lib/ircp/version.rb,
lib/ircp/parser/message_node_classes.rb

Defined Under Namespace

Modules: Parser Classes: IrcpError, Message, ParseError, Prefix

Constant Summary collapse

VERSION =
"1.1.8"

Class Method Summary collapse

Class Method Details

.message_parserObject



9
10
11
# File 'lib/ircp.rb', line 9

def self.message_parser
  @message_parser ||= Ircp::Parser::MessageParser.new
end

.parse(text) ⇒ Object

Raises:



13
14
15
16
17
18
19
20
# File 'lib/ircp.rb', line 13

def self.parse(text)
  node = message_parser.parse(text)
  raise ParseError.new(message_parser.failure_reason) if node.nil?

  env = node.eval
  params = env.delete(:params)
  Message.new *params, env
end