1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#!/usr/bin/env ruby
require 'rubygems'
require 'bundler/setup'
require 'ruby_ami'
require 'benchmark/ips'
class LexerHost
def initialize
@lexer = RubyAMI::Lexer.new self
end
def receive_data(data)
@lexer << data
end
def message_received(message)
end
def error_received(error)
end
def syntax_error_encountered(ignored_chunk)
end
end
lexer_host = LexerHost.new
event = <<-EVENT
Event: Dial
SubEvent: <value>
Channel: <value>
Destination: <value>
CallerIDNum: <value>
CallerIDName: <value>
ConnectedLineNum: <value>
ConnectedLineName: <value>
UniqueID: <value>
DestUniqueID: <value>
Dialstring: <value>
EVENT
event.gsub!("\n", "\r\n")
Benchmark.ips do |ips|
ips.report("event lexing") { lexer_host.receive_data event }
end
|