Module: Telephony

Defined in:
lib/telephony.rb,
lib/telephony/error.rb,
lib/telephony/engine.rb,
lib/telephony/helper.rb,
lib/telephony/version.rb,
app/models/telephony/base.rb,
app/models/telephony/call.rb,
app/models/telephony/agent.rb,
app/models/telephony/events.rb,
app/models/telephony/playable.rb,
app/models/telephony/recording.rb,
app/models/telephony/voicemail.rb,
lib/telephony/conversation_data.rb,
lib/telephony/jobs/pusher_event.rb,
app/models/telephony/call_center.rb,
app/models/telephony/events/base.rb,
app/models/telephony/events/busy.rb,
app/models/telephony/events/rona.rb,
lib/telephony/jobs/agent_offline.rb,
app/models/telephony/conversation.rb,
app/models/telephony/events/ended.rb,
app/models/telephony/events/start.rb,
app/helpers/telephony/calls_helper.rb,
app/models/telephony/events/answer.rb,
app/models/telephony/events/reject.rb,
app/models/telephony/events/connect.rb,
app/models/telephony/events/enqueue.rb,
app/models/telephony/events/transfer.rb,
app/models/telephony/events/call_fail.rb,
app/models/telephony/events/no_answer.rb,
app/models/telephony/events/terminate.rb,
app/observers/telephony/call_observer.rb,
app/models/telephony/events/conference.rb,
app/models/telephony/events/dial_agent.rb,
app/models/telephony/playable_listener.rb,
app/observers/telephony/agent_observer.rb,
app/observers/telephony/event_observer.rb,
app/models/telephony/blacklisted_number.rb,
app/models/telephony/call_state_machine.rb,
lib/telephony/providers/twilio_provider.rb,
app/helpers/telephony/application_helper.rb,
app/models/telephony/agent_state_machine.rb,
app/models/telephony/events/play_message.rb,
app/models/telephony/events/call_answered.rb,
app/models/telephony/events/complete_hold.rb,
app/models/telephony/events/initiate_hold.rb,
app/controllers/telephony/agents_controller.rb,
app/controllers/telephony/widget_controller.rb,
app/models/telephony/events/complete_resume.rb,
app/models/telephony/events/initiate_resume.rb,
app/models/telephony/events/leave_voicemail.rb,
app/models/telephony/pusher_event_publisher.rb,
app/models/telephony/conversations_presenter.rb,
app/models/telephony/events/initialize_widget.rb,
app/observers/telephony/conversation_observer.rb,
app/controllers/telephony/transfers_controller.rb,
app/controllers/telephony/voicemails_controller.rb,
app/models/telephony/conversation_state_machine.rb,
app/models/telephony/inbound_conversation_queue.rb,
app/controllers/telephony/application_controller.rb,
app/models/telephony/events/play_closed_greeting.rb,
app/controllers/telephony/call_centers_controller.rb,
app/models/telephony/events/straight_to_voicemail.rb,
app/controllers/telephony/conversations_controller.rb,
app/controllers/telephony/twilio_client_controller.rb,
app/models/telephony/events/fail_one_step_transfer.rb,
app/models/telephony/events/fail_two_step_transfer.rb,
app/models/telephony/events/leave_two_step_transfer.rb,
app/models/telephony/events/complete_one_step_transfer.rb,
app/models/telephony/events/complete_two_step_transfer.rb,
app/models/telephony/events/initiate_one_step_transfer.rb,
app/models/telephony/events/initiate_two_step_transfer.rb,
app/controllers/telephony/playable_listeners_controller.rb,
app/controllers/telephony/providers/twilio/calls_controller.rb,
app/models/telephony/events/customer_left_two_step_transfer.rb,
app/controllers/telephony/providers/twilio/musics_controller.rb,
app/controllers/telephony/signals/agents/presences_controller.rb,
app/controllers/telephony/inbound/conversation_queues_controller.rb,
app/controllers/telephony/providers/twilio/voicemails_controller.rb,
app/controllers/telephony/providers/twilio/application_controller.rb,
app/controllers/telephony/providers/twilio/inbound_calls_controller.rb

Defined Under Namespace

Modules: AgentStateMachine, ApplicationHelper, CallStateMachine, CallsHelper, ConversationStateMachine, Error, Events, Inbound, Jobs, NumberHelper, Providers, Signals Classes: Agent, AgentObserver, AgentsController, ApplicationController, Base, BlacklistedNumber, Call, CallCenter, CallCentersController, CallObserver, Conversation, ConversationData, ConversationObserver, ConversationsController, ConversationsPresenter, Engine, EventObserver, InboundConversationQueue, Playable, PlayableListener, PlayableListenersController, PusherEventPublisher, Recording, TransfersController, TwilioClientController, Voicemail, VoicemailsController, WidgetController

Constant Summary collapse

VERSION =
'1.0.3'

Class Method Summary collapse

Class Method Details

.americanize(number) ⇒ Object



29
30
31
32
33
# File 'lib/telephony.rb', line 29

def self.americanize number
  number
    .gsub(/\D/, '')
    .last(10)
end

.whitelisted?(number) ⇒ Boolean

Returns:

  • (Boolean)


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

def self.whitelisted? number
  ! whitelist || begin
    normalized_number = americanize number
    whitelist.any? do |whitelisted_number|
      americanize(whitelisted_number) == normalized_number
    end
  end
end

.with_whitelisting(number) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/telephony.rb', line 21

def self.with_whitelisting number
  if whitelisted? number
    number
  else
    provider.uncallable_number
  end
end