Sha256: 739f3ffb6e75dc2dbd588eb14868e2a7d636684f3dfd8ffb8c1e9911d5b3e00c
Contents?: true
Size: 1.79 KB
Versions: 1
Compression:
Stored size: 1.79 KB
Contents
# encoding: utf-8 require 'adhearsion/translator/asterisk/component/mrcp_recog_prompt' module Adhearsion module Translator class Asterisk module Component class MRCPPrompt < Component include StopByRedirect include MRCPRecogPrompt private def validate raise OptionError, "The renderer #{renderer} is unsupported." unless renderer == 'unimrcp' raise OptionError, "The recognizer #{recognizer} is unsupported." unless recognizer == 'unimrcp' raise OptionError, 'An SSML document is required.' unless output_node.render_documents.count > 0 raise OptionError, 'Only one document is allowed.' if output_node.render_documents.count > 1 raise OptionError, 'A grammar is required.' unless input_node.grammars.count > 0 begin render_doc rescue => e logger.error e raise OptionError, 'The requested render document could not be parsed.' end super end def renderer (output_node.renderer || :unimrcp).to_s end def recognizer (input_node.recognizer || :unimrcp).to_s end def execute_unimrcp_app execute_app 'SynthAndRecog', render_doc, grammars end def render_doc @render_doc ||= begin d = output_node.render_documents.first if d.content_type d.value.to_doc.to_s else d.url end end end def unimrcp_app_options super do |opts| opts[:vn] = output_node.voice if output_node.voice end end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
adhearsion-3.0.0.rc1 | lib/adhearsion/translator/asterisk/component/mrcp_prompt.rb |