Class: Adhearsion::VoIP::Asterisk::Manager::DelegatingAsteriskManagerInterfaceLexer

Inherits:
AbstractAsteriskManagerInterfaceStreamLexer show all
Defined in:
lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rb

Constant Summary

Constants inherited from AbstractAsteriskManagerInterfaceStreamLexer

AbstractAsteriskManagerInterfaceStreamLexer::BUFFER_SIZE, AbstractAsteriskManagerInterfaceStreamLexer::POINTERS

Instance Attribute Summary

Attributes inherited from AbstractAsteriskManagerInterfaceStreamLexer

#ami_version

Instance Method Summary collapse

Methods inherited from AbstractAsteriskManagerInterfaceStreamLexer

#<<, #extend_buffer_with, #resume!

Constructor Details

#initialize(delegate, method_delegation_map = nil) ⇒ DelegatingAsteriskManagerInterfaceLexer

Returns a new instance of DelegatingAsteriskManagerInterfaceLexer.



1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
# File 'lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rb', line 1651

def initialize(delegate, method_delegation_map=nil)
  super()
  @delegate = delegate

  @message_received_method = method_delegation_map && method_delegation_map.has_key?(:message_received) ?
      method_delegation_map[:message_received] : :message_received

  @error_received_method = method_delegation_map && method_delegation_map.has_key?(:error_received) ?
      method_delegation_map[:error_received] : :error_received

  @syntax_error_method = method_delegation_map && method_delegation_map.has_key?(:syntax_error_encountered) ?
      method_delegation_map[:syntax_error_encountered] : :syntax_error_encountered
end

Instance Method Details

#error_received(message) ⇒ Object



1669
1670
1671
# File 'lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rb', line 1669

def error_received(message)
  @delegate.send(@error_received_method, message)
end

#message_received(message) ⇒ Object



1665
1666
1667
# File 'lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rb', line 1665

def message_received(message)
  @delegate.send(@message_received_method, message)
end

#syntax_error_encountered(ignored_chunk) ⇒ Object



1673
1674
1675
# File 'lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rb', line 1673

def syntax_error_encountered(ignored_chunk)
  @delegate.send(@syntax_error_method, ignored_chunk)
end