Class: Bandwidth::Voice::Gather

Inherits:
Object
  • Object
show all
Includes:
XmlVerb
Defined in:
lib/bandwidth/voice_lib/bxml/verbs/gather.rb

Overview

The Gather verb is used to collect digits for some period of time

Instance Method Summary collapse

Methods included from XmlVerb

#compact_hash, #initialize, #method_missing

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Bandwidth::Voice::XmlVerb

Instance Method Details

#to_bxml(xml) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/bandwidth/voice_lib/bxml/verbs/gather.rb', line 9

def to_bxml(xml)
  xml.Gather(compact_hash({
    'gatherUrl' => gather_url,
    'gatherMethod' => gather_method,
    'terminatingDigits' => terminating_digits,
    'tag' => tag,
    'maxDigits' => max_digits,
    'interDigitTimeout' => inter_digit_timeout,
    'username' => username,
    'password' => password,
    'firstDigitTimeout' => first_digit_timeout,
    'repeatCount' => repeat_count,
    'gatherFallbackUrl' => gather_fallback_url,
    'gatherFallbackMethod' => gather_fallback_method,
    'fallbackUsername' => fallback_username,
    'fallbackPassword' => fallback_password
   })) do
     def embedded_xml(xml, property, type)
       if property
         s = if property.is_a?(type)
               then property
             else type.new(property)
               end
         s.to_bxml(xml)
       end
     end
     def nest_verbs_list(xml, property)
       if property
         property.each do |verb|
           verb.to_bxml(xml)
         end
       end
     end
    embedded_xml(xml, speak_sentence, SpeakSentence)
    embedded_xml(xml, play_audio, PlayAudio)
    nest_verbs_list(xml, nested_verbs)
  end
end