class AsteriskManager::Connection

Attributes

host[RW]
password[RW]
port[RW]
username[RW]

Public Class Methods

new(arguments = {}) click to toggle source
# File lib/asterisk-manager/connection.rb, line 10
def initialize(arguments = {})
  self.host     = arguments[:host]
  self.port     = arguments[:port]
  self.username = arguments[:username]
  self.password = arguments[:password]
  login
end

Public Instance Methods

login() click to toggle source
# File lib/asterisk-manager/connection.rb, line 36
def login
  send "Action: Login\r\n"
  send "Username: #{username}\r\n"
  send "Secret: #{password}\r\n"
  send "\r\n"
end
read_line() click to toggle source
# File lib/asterisk-manager/connection.rb, line 26
def read_line
  if !@socket || (response = socket.gets).nil?
    @socket = nil
    login
    read_line
  else
    response
  end
end
send(value) click to toggle source
# File lib/asterisk-manager/connection.rb, line 22
def send(value)
  socket.write value
end
socket() click to toggle source
# File lib/asterisk-manager/connection.rb, line 18
def socket
  @socket ||= TCPSocket.new host, port
end