Sha256: 994205e48bb552399568d24090a45dd6fc5fa28a0c83955be289707325a37db9

Contents?: true

Size: 981 Bytes

Versions: 1

Compression:

Stored size: 981 Bytes

Contents

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

        model Fog::AWS::ELB::Policy

        attr_accessor :data, :load_balancer

        def all
          load(munged_data)
        end

        def get(id)
          all.detect{|policy| id == policy.id}
        end

        private
        # Munge a hash like:
        # {'LBCookieStickinessPolicies' => [policies...],
        # 'AppCookieStickinessPolicies' => [policies...]}
        # to a single array of policies with a cookie_stickiness value
        def munged_data
          munged_data = []
          data['LBCookieStickinessPolicies'].each do |policy|
            munged_data << policy.merge(:cookie_stickiness => :lb)
          end
           data['AppCookieStickinessPolicies'].each do |policy|
            munged_data << policy.merge(:cookie_stickiness => :app)
          end
           munged_data
        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/policies.rb