Sha256: f851d4b2ff28ebf0b67ed18f16cf59720899aa5780bcbf0878dff0ce31890d6e

Contents?: true

Size: 756 Bytes

Versions: 1

Compression:

Stored size: 756 Bytes

Contents

require 'rackspace-fog/aws/models/elb/listener'
module Fog
  module AWS
    class ELB
      class Listeners < Fog::Collection

        model Fog::AWS::ELB::Listener

        attr_accessor :data, :load_balancer

        def all
          load(munged_data)
        end

        def get(lb_port)
          all.detect{|listener| listener.lb_port == lb_port}
        end

        private
        # Munge an array of ListenerDescription hashes like:
        # {'Listener' => listener, 'PolicyNames' => []}
        # to an array of listeners with a PolicyNames key
        def munged_data
          data.map {|description|
            description['Listener'].merge('PolicyNames' => description['PolicyNames'])
          }
        end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rackspace-fog-1.4.2 lib/rackspace-fog/aws/models/elb/listeners.rb