1
0
Fork 0
mirror of https://github.com/fog/fog-aws.git synced 2022-11-09 13:50:52 -05:00
fog--fog-aws/lib/fog/aws/parsers/ecs/describe_clusters.rb
2015-06-05 21:39:54 -03:00

55 lines
1.5 KiB
Ruby

module Fog
module Parsers
module AWS
module ECS
require 'fog/aws/parsers/ecs/base'
class DescribeClusters < Fog::Parsers::AWS::ECS::Base
def reset
super
@result = 'DescribeClustersResult'
@response[@result] = {}
@contexts = %w(failures clusters)
@context = []
@clusters = []
@failures = []
@cluster = {}
@failure = {}
end
def start_element(name, attrs = [])
super
if @contexts.include?(name)
@context.push(name)
end
end
def end_element(name)
super
case name
when 'clusterName', 'clusterArn', 'status'
@cluster[name] = value
when 'arn', 'reason'
@failure[name] = value
when 'member'
case @context.last
when 'clusters'
@clusters << @cluster unless @cluster.empty?
@cluster = {}
when 'failures'
@failures << @failure unless @failure.empty?
@failure = {}
end
when 'clusters'
@response[@result][name] = @clusters
@context.pop
when 'failures'
@response[@result][name] = @failures
@context.pop
end
end
end
end
end
end
end