Sha256: 0fbc2843983e6aba213619f3fafb787d2ebcbe95ef32797ba1ccb58e210c9947

Contents?: true

Size: 1.29 KB

Versions: 4

Compression:

Stored size: 1.29 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,
         'transferCompleteFallbackUrl' => transfer_complete_fallback_url,
         'transferCompleteFallbackMethod' => transfer_complete_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
          phone_numbers.each do |number|
            embedded_xml(xml, number, PhoneNumber)
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
bandwidth-sdk-3.12.1 lib/bandwidth/voice_lib/bxml/verbs/transfer.rb
bandwidth-sdk-3.12.0 lib/bandwidth/voice_lib/bxml/verbs/transfer.rb
bandwidth-sdk-3.11.0 lib/bandwidth/voice_lib/bxml/verbs/transfer.rb
bandwidth-sdk-3.10.0 lib/bandwidth/voice_lib/bxml/verbs/transfer.rb