Sha256: 3e44850e8d7948eb40cbf53618651685f71611cce260ab8e8ac24abbd749d177

Contents?: true

Size: 1.2 KB

Versions: 3

Compression:

Stored size: 1.2 KB

Contents

module Fog
  module Parsers
    module Vcloud

      class Network < Fog::Parsers::Vcloud::Base

        def reset
          @response = Struct::VcloudNetwork.new([])
        end

        def start_element(name,attributes=[])
          super
          case name
          when "Network"
            handle_root(attributes)
          when "Features"
            @in = :features
          when "Configuration"
            @in = :configuration
            @response.configuration = Struct::VcloudNetworkConfiguration.new
          end
        end

        def end_element(name)
          case @in
          when :features
            case name
            when "FenceMode"
              @response.features << Struct::VcloudNetworkFenceMode.new(@value)
            when "Features"
              @in = nil
            end
          when :configuration
            case name
            when "Gateway","Netmask","Dns"
              @response.configuration[name.downcase] = @value
            when "Configuration"
              @in = nil
            end
          else
            case name
            when "Description"
              @response.description = @value
            end
          end
        end

      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fog-0.2.0 lib/fog/vcloud/parsers/network.rb
fog-0.1.10 lib/fog/vcloud/parsers/network.rb
fog-0.1.9 lib/fog/vcloud/parsers/network.rb