Sha256: 44d45e2af1f98715d7663b246c4f4f99994074a110b700724f228d3d411b2470

Contents?: true

Size: 1.04 KB

Versions: 5

Compression:

Stored size: 1.04 KB

Contents

require_relative 'xml_verb'

module Bandwidth 
  module Voice 
    # The Transfer verb is used to transfer the call to another number
    class Transfer
      include XmlVerb

      def to_bxml(xml)
        xml.Transfer(compact_hash({
         'transferCallerId' => transfer_caller_id,
         'callTimeout' => call_timeout,
         'tag' => tag,
         'transferCompleteUrl' => transfer_complete_url,
         'transferCompleteMethod' => transfer_complete_method,
         'username' => username,
         'password' => password,
         'diversionTreatment' => diversion_treatment,
         'diversionReason' => diversion_reason
        })) 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
          phone_numbers.each do |number|
            embedded_xml(xml, number, PhoneNumber)
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
bandwidth-sdk-2.0.0 lib/bandwidth/voice_lib/bxml/verbs/transfer.rb
bandwidth-sdk-1.0.2 lib/bandwidth/voice_lib/bxml/verbs/transfer.rb
bandwidth-sdk-1.0.1 lib/bandwidth/voice_lib/bxml/verbs/transfer.rb
bandwidth-sdk-1.0.0 lib/bandwidth/voice_lib/bxml/verbs/transfer.rb
bandwidth-sdk-1.0.0.pre lib/bandwidth/voice_lib/bxml/verbs/transfer.rb