Sha256: 5cce60d38ef44233824bca77d3cd2115016df8d9fcdb7dc95fec1610fa364425

Contents?: true

Size: 1.26 KB

Versions: 13

Compression:

Stored size: 1.26 KB

Contents

require 'fog/core/collection'

module Fog
  module CDN
    class AWS

      module DistributionsHelper
        def all(options = {})
          merge_attributes(options)
          data = list_distributions(options).body
          merge_attributes('IsTruncated' => data['IsTruncated'], 'Marker' => data['Marker'], 'MaxItems' => data['MaxItems'])
          if summary = data['DistributionSummary']
            load(summary.map { |a| { 'DistributionConfig' => a } })
          else
            load((data['StreamingDistributionSummary'] || {}).map { |a| { 'StreamingDistributionConfig' => a }})
          end
        end

        def get(dist_id)
          response = get_distribution(dist_id)
          data = response.body.merge({'ETag' => response.headers['ETag']})
          new(data)
        rescue Excon::Errors::NotFound
          nil
        end

        def each
          if !block_given?
            self
          else
            subset = dup.all

            subset.each_distribution_this_page {|f| yield f}
            while subset.is_truncated
              subset = subset.all('Marker' => subset.marker, 'MaxItems' => 1000)
              subset.each_distribution_this_page {|f| yield f}
            end

            self
          end
        end

      end

    end
  end
end

Version data entries

13 entries across 13 versions & 6 rubygems

Version Path
hpfog-0.0.20 lib/fog/aws/models/cdn/distributions_helper.rb
fog-nirvanix-1.8.2 lib/fog/aws/models/cdn/distributions_helper.rb
fog-nirvanix-1.8.1 lib/fog/aws/models/cdn/distributions_helper.rb
fog-1.10.0 lib/fog/aws/models/cdn/distributions_helper.rb
fog-1.9.0 lib/fog/aws/models/cdn/distributions_helper.rb
fog-maestrodev-1.8.0.20130114204828 lib/fog/aws/models/cdn/distributions_helper.rb
fog-maestrodev-1.8.0.20130111070250 lib/fog/aws/models/cdn/distributions_helper.rb
fog-maestrodev-1.8.0.20130109172219 lib/fog/aws/models/cdn/distributions_helper.rb
ey-vendored-backup-3.0.27 vendor/gems/fog/lib/fog/aws/models/cdn/distributions_helper.rb
fog-sgonyea-1.8.1 lib/fog/aws/models/cdn/distributions_helper.rb
fog-1.8.0 lib/fog/aws/models/cdn/distributions_helper.rb
fog-maestrodev-1.7.0.20121114190951 lib/fog/aws/models/cdn/distributions_helper.rb
fog-1.7.0 lib/fog/aws/models/cdn/distributions_helper.rb