Sha256: d4264bce55d3bbc96d611a178ce9002f5ee8996e14df7a70586a8f810594141e

Contents?: true

Size: 945 Bytes

Versions: 16

Compression:

Stored size: 945 Bytes

Contents

module Fog
  module Parsers
    module Terremark

      class Task < Fog::Parsers::Base

        def reset
          @response = {}
        end

        def start_element(name, attributes)
          @value = ''
          case name
          when 'Owner', 'Result'
            data = {}
            until attributes.empty?
              data[attributes.shift] = attributes.shift
            end
            @response[name] = data
          when 'Task'
            task = {}
            until attributes.empty?
              if attributes.first.is_a?(Array)
                attribute = attributes.shift
                task[attribute.first] = attribute.last
              else
                task[attributes.shift] = attributes.shift
              end
            end
            @response.merge!(task.reject {|key,value| !['endTime', 'href', 'startTime', 'status', 'type'].include?(key)})
          end
        end

      end

    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
fog-0.0.77 lib/fog/terremark/parsers/task.rb
fog-0.0.76 lib/fog/terremark/parsers/task.rb
fog-0.0.75 lib/fog/terremark/parsers/task.rb
fog-0.0.74 lib/fog/terremark/parsers/task.rb
fog-0.0.73 lib/fog/terremark/parsers/task.rb
fog-0.0.72 lib/fog/terremark/parsers/task.rb
fog-0.0.71 lib/fog/terremark/parsers/task.rb
fog-0.0.70 lib/fog/terremark/parsers/task.rb
fog-0.0.69 lib/fog/terremark/parsers/task.rb
fog-0.0.68 lib/fog/terremark/parsers/task.rb
fog-0.0.67 lib/fog/terremark/parsers/task.rb
fog-0.0.66 lib/fog/terremark/parsers/task.rb
fog-0.0.65 lib/fog/terremark/parsers/task.rb
fog-0.0.64 lib/fog/terremark/parsers/task.rb
fog-0.0.63 lib/fog/terremark/parsers/task.rb
fog-0.0.62 lib/fog/terremark/parsers/task.rb