class AsteriskManager::Channel
Attributes
application_data[RW]
application_name[RW]
caller_id_name[RW]
caller_id_number[RW]
created_at[RW]
sip_id[RW]
state[RW]
unique_id[RW]
Public Class Methods
channels()
click to toggle source
# File lib/asterisk-manager/channel.rb, line 47 def self.channels @channels ||= {} end
for_unique_id(unique_id)
click to toggle source
# File lib/asterisk-manager/channel.rb, line 51 def self.for_unique_id(unique_id) channels[unique_id] ||= new(unique_id: unique_id) end
new(arguments = {})
click to toggle source
# File lib/asterisk-manager/channel.rb, line 12 def initialize(arguments = {}) self.unique_id = arguments[:unique_id] self.sip_id = arguments[:sip_id] self.state = arguments[:state] self.caller_id_number = arguments[:caller_id_number] self.caller_id_name = arguments[:caller_id_name] self.application_name = arguments[:application_name] self.application_data = arguments[:application_data] self.created_at = Time.now end
Public Instance Methods
<=>(other_channel)
click to toggle source
# File lib/asterisk-manager/channel.rb, line 43 def <=>(other_channel) unique_id.to_f <=> other_channel.unique_id.to_f end
application()
click to toggle source
# File lib/asterisk-manager/channel.rb, line 23 def application "#{application_name}(#{application_data})" if application_name.to_s.size > 0 end
caller_id()
click to toggle source
# File lib/asterisk-manager/channel.rb, line 27 def caller_id "#{caller_id_number} #{caller_id_name}".strip end
duration()
click to toggle source
# File lib/asterisk-manager/channel.rb, line 35 def duration x = seconds.round hours = x / 3600 minutes = (x - hours * 3600) / 60 seconds = (x - hours * 3600 - minutes * 60) "#{hours}:#{'%02d' % minutes}:#{'%02d' % seconds}" end
seconds()
click to toggle source
# File lib/asterisk-manager/channel.rb, line 31 def seconds Time.now - created_at end