Class: Fog::Parsers::Redshift::AWS::DescribeClusterVersions

Inherits:
Base
  • Object
show all
Defined in:
lib/fog/aws/parsers/redshift/describe_cluster_versions.rb

Instance Method Summary collapse

Instance Method Details

#end_element(name) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/fog/aws/parsers/redshift/describe_cluster_versions.rb', line 29

def end_element(name)
  super
  case name
  when 'Marker'
    @response[name] = value
  when 'ClusterVersion'
    @cluster_version_depth -= 1
    if @cluster_version_depth == 0
      @response['ClusterVersions'] << {name => @cluster_version}
      @cluster_version = {}
    else
      @cluster_version[name] = value
    end
  when 'ClusterParameterGroupFamily', 'Description'
    @cluster_version[name] = value
  end
end

#resetObject

:marker - (String) :cluster_versions - (Array<Hash>)

:cluster_version - (String)
:cluster_parameter_group_family - (String)
:description - (String)


12
13
14
15
# File 'lib/fog/aws/parsers/redshift/describe_cluster_versions.rb', line 12

def reset
  @response = { 'ClusterVersions' => [] }
  @cluster_version_depth = 0
end

#start_element(name, attrs = []) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/fog/aws/parsers/redshift/describe_cluster_versions.rb', line 17

def start_element(name, attrs = [])
  super
  case name
  when 'ClusterVersions'
    @cluster_version = {}
  when 'ClusterVersion'
    # Sadly, there are two nodes of different type named cluster_version
    # that are nested, so we keep track of which one we're in
    @cluster_version_depth += 1
  end
end