Sha256: d6f5f2082af24da3f6130c5264a7fdee7450a098ce1688eb71d8b7cefbae3f9d

Contents?: true

Size: 1.19 KB

Versions: 16

Compression:

Stored size: 1.19 KB

Contents

module Fog
  module Parsers
    module Terremark

      class GetTasksList < Fog::Parsers::Base

        def reset
          @response = { 'Tasks' => [] }
          @task = {}
        end

        def start_element(name, attributes)
          @value = ''
          case name
          when 'Owner', 'Result'
            data = {}
            until attributes.empty?
              data[attributes.shift] = attributes.shift
            end
            @task[name] = data
          when 'Task'
            until attributes.empty?
              @task[attributes.shift] = attributes.shift
            end
          when 'TasksList'
            tasks_list = {}
            until attributes.empty?
              if attributes.first.is_a?(Array)
                attribute = attributes.shift
                tasks_list[attribute.first] = attribute.last
              else
                tasks_list[attributes.shift] = attributes.shift
              end
            end
            @response['href'] = tasks_list['href']
          end
        end

        def end_element(name)
          if name == 'Task'
            @response['Tasks'] << @task
            @task = {}
          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/get_tasks_list.rb
fog-0.0.76 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.75 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.74 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.73 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.72 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.71 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.70 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.69 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.68 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.67 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.66 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.65 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.64 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.63 lib/fog/terremark/parsers/get_tasks_list.rb
fog-0.0.62 lib/fog/terremark/parsers/get_tasks_list.rb