Class: Bandwidth::Voice::StartStream

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

Overview

The StartStream verb allows a segment of a call to be sent off to another destination for additional processing

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
# File 'lib/bandwidth/voice_lib/bxml/verbs/start_stream.rb', line 9

def to_bxml(xml)
  xml.StartStream(compact_hash({
   'destination' => destination,
   'name' => name,
   'tracks' => tracks,
   'streamEventUrl' => streamEventUrl,
   'streamEventMethod' => streamEventMethod,
   'username' => username,
   'password' => 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, stream_params, StreamParam)
   nest_verbs_list(xml, nested_verbs)
  end
end