class Adhearsion::CallController::Output::AbstractPlayer

Attributes

controller[RW]

Public Class Methods

new(controller) click to toggle source
# File lib/adhearsion/call_controller/output/abstract_player.rb, line 12
def initialize(controller)
  @controller = controller
end

Public Instance Methods

new_output(options) click to toggle source
# File lib/adhearsion/call_controller/output/abstract_player.rb, line 26
def new_output(options)
  defaults = {}

  default_voice = Adhearsion.config.platform.media.default_voice || Adhearsion.config.punchblock[:default_voice]
  defaults[:voice] = default_voice if default_voice

  renderer = Adhearsion.config.platform.media.default_renderer || Adhearsion.config.punchblock[:media_engine]
  defaults[:renderer] = renderer if renderer

  Punchblock::Component::Output.new defaults.merge(options)
end
play_ssml(ssml, options = {}) click to toggle source
# File lib/adhearsion/call_controller/output/abstract_player.rb, line 16
def play_ssml(ssml, options = {})
  if [RubySpeech::SSML::Speak, Nokogiri::XML::Document].include? ssml.class
    output ssml, options
  end
end
play_url(url, options = {}) click to toggle source
# File lib/adhearsion/call_controller/output/abstract_player.rb, line 22
def play_url(url, options = {})
  output url, options.merge(render_document: {url: url, content_type: "application/ssml+xml"})
end