class Fog::Parsers::AWS::ECS::Service

Public Instance Methods

end_element(name) click to toggle source
# File lib/fog/aws/parsers/ecs/service.rb, line 15
def end_element(name)
  super
  case name
  when *@contexts
    @context.pop
  when 'member'
    case @context.last
    when 'services'
      @response[@result]['services'] << @service
      @service = {}
    when 'loadBalancers'
      @service['loadBalancers'] ||= []
      @service['loadBalancers'] << @load_balancer
      @load_balancer = {}
    when 'events'
      @service['events'] ||= []
      @service['events'] << @event
      @event = {}
    when 'deployments'
      @service['deployments'] ||= []
      @service['deployments'] << @deployment
      @deployment = {}
    end
  when 'clusterArn', 'roleArn', 'serviceArn', 'serviceName'
    @service[name] = value
  when 'taskDefinition', 'status'
    case @context.last
    when 'service', 'services'
      @service[name] = value
    when 'deployments'
      @deployment[name] = value
    end
  when 'desiredCount', 'pendingCount', 'runningCount'
    case @context.last
    when 'service', 'services'
      @service[name] = value.to_i
    when 'deployments'
      @deployment[name] = value.to_i
    end
  when 'loadBalancerName', 'containerName'
    @load_balancer[name] = value
  when 'containerPort'
    @load_balancer[name] = value.to_i
  when 'createdAt'
    case @context.last
    when 'events'
      @event[name] = Time.parse(value)
    when 'deployments'
      @deployment[name] = Time.parse(value)
    end
  when 'id'
    case @context.last
    when 'events'
      @event[name] = value
    when 'deployments'
      @deployment[name] = value
    end
  when 'message'
    @event[name] = value
  when 'updatedAt'
    @deployment[name] = Time.parse(value)
  end
end
start_element(name, attrs = []) click to toggle source
# File lib/fog/aws/parsers/ecs/service.rb, line 8
def start_element(name, attrs = [])
  super
  if @contexts.include?(name)
    @context.push(name)
  end
end