Sha256: a1ad4682e823c0059d29b050c1bea260038869fe9d658fd7b0c80590b06c0ef9

Contents?: true

Size: 1.51 KB

Versions: 29

Compression:

Stored size: 1.51 KB

Contents

require_relative 'xml_verb'

module Bandwidth 
  module Voice 
    # The Gather verb is used to collect digits for some period of time
    class Gather
      include XmlVerb

      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
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
bandwidth-sdk-10.5.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-10.4.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-10.3.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-10.2.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-10.1.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-10.0.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-9.4.1 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-9.4.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-9.3.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-9.2.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-9.1.2 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-9.1.1 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-9.1.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-9.0.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-8.0.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-7.1.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-7.0.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-6.2.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-6.1.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb
bandwidth-sdk-6.0.0 lib/bandwidth/voice_lib/bxml/verbs/gather.rb