Sha256: a0e6703e753573daaf147e4f47c3bc0781dad4bcf8197172704b7cd42fd4b8cd

Contents?: true

Size: 1.06 KB

Versions: 4

Compression:

Stored size: 1.06 KB

Contents

require 'middleman-core'

module Middleman
  module CDN
    module Helpers
      def cdn_invalidate(files = nil)
        ::Middleman::Cli::CDN.new.cdn_invalidate(cdn_options, *files)
      end

      def cdn_options
        ::Middleman::CDN::CDNExtension.options
      end
    end

    class CDNExtension < Middleman::Extension
      option :cloudflare, nil, 'CloudFlare options'
      option :cloudfront, nil, 'CloudFront options'
      option :fastly, nil, 'Fastly options'
      option :maxcdn, nil, 'MaxCDN options'
      option :rackspace, nil, 'Rackspace options'
      option :filter, nil, 'Cloudflare options'
      option :after_build, false, 'Cloudflare options'

      def initialize(app, options_hash = {}, &block)
        super

        @@cdn_options = options

        app.after_configuration do
          app.after_build do
            cdn_invalidate if cdn_options.after_build
          end
        end

        app.send :include, Helpers
      end

      def registered
        included
      end

      def self.options
        @@cdn_options
      end

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
middleman-cdn-0.1.16 lib/middleman-cdn/extension.rb
middleman-cdn-0.1.15 lib/middleman-cdn/extension.rb
middleman-cdn-0.1.14 lib/middleman-cdn/extension.rb
middleman-cdn-0.1.13 lib/middleman-cdn/extension.rb