Class: RightAws::ElbInterface::DescribeLoadBalancersParser

Inherits:
RightAWSParser show all
Defined in:
lib/elb/right_elb_interface.rb

Overview


PARSERS: Load Balancers

Constant Summary

Constants inherited from RightAWSParser

RightAWSParser::DEFAULT_XML_LIBRARY

Instance Attribute Summary

Attributes inherited from RightAWSParser

#full_tag_name, #result, #tag, #xml_lib, #xmlpath

Instance Method Summary collapse

Methods inherited from RightAWSParser

#initialize, #method_missing, #parse, #tag_end, #tag_start, #tagtext, #text, xml_lib, xml_lib=

Constructor Details

This class inherits a constructor from RightAws::RightAWSParser

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class RightAws::RightAWSParser

Instance Method Details

#resetObject



322
323
324
325
# File 'lib/elb/right_elb_interface.rb', line 322

def reset
  @p      = 'DescribeLoadBalancersResponse/DescribeLoadBalancersResult/LoadBalancerDescriptions'
  @result = []
end

#tagend(name) ⇒ Object



297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
# File 'lib/elb/right_elb_interface.rb', line 297

def tagend(name)
  case name
  when 'LoadBalancerName'   then @item[:load_balancer_name]   = @text
  when 'DNSName'            then @item[:dns_name]             = @text
  when 'CreatedTime'        then @item[:created_time]         = Time::parse(@text)
  when 'Interval'           then @item[:health_check][:interval]            = @text.to_i
  when 'Target'             then @item[:health_check][:target]              = @text
  when 'HealthyThreshold'   then @item[:health_check][:healthy_threshold]   = @text.to_i
  when 'Timeout'            then @item[:health_check][:timeout]             = @text.to_i
  when 'UnhealthyThreshold' then @item[:health_check][:unhealthy_threshold] = @text.to_i       
  when 'Protocol'           then @listener[:protocol]           = @text
  when 'LoadBalancerPort'   then @listener[:load_balancer_port] = @text
  when 'InstancePort'       then @listener[:instance_port]      = @text
  when 'member'
    case @xmlpath
    when @p then
      @item[:availability_zones].sort!
      @item[:instances].sort!
      @result << @item
    when "#@p/member/AvailabilityZones" then @item[:availability_zones] << @text
    when "#@p/member/Instances"         then @item[:instances]          << @text
    when "#@p/member/Listeners"         then @item[:listeners]          << @listener
    end
  end
end

#tagstart(name, attributes) ⇒ Object

:nodoc:



285
286
287
288
289
290
291
292
293
294
295
296
# File 'lib/elb/right_elb_interface.rb', line 285

def tagstart(name, attributes)
  case name
  when 'member'
    case @xmlpath
      when @p then @item = { :availability_zones => [],
                              :health_check       => {},
                              :listeners          => [],
                              :instances          => [] }
      when "#@p/member/Listeners" then @listener = {}
    end
  end
end