module Middleman::CloudflarePurge

Public Class Methods

included(app, options_hash = {}, &block)
Alias for: registered
load_config() click to toggle source
# File lib/middleman-cloudflare_purge/extension.rb, line 30
def load_config
    root_path = ::Middleman::Application.root
    config_file = File.join(root_path, '.cloudflare_purge')

    if File.exists?(config_file)
        config = YAML.load(File.open(config_file, 'r'))
        config.each do |k, v|
            options[k] = v
        end
    else
        return {}
    end
end
options() click to toggle source
# File lib/middleman-cloudflare_purge/extension.rb, line 14
def options
    @@options
end
purge(opts) click to toggle source
# File lib/middleman-cloudflare_purge/extension.rb, line 44
def purge(opts)
    uri = URI('https://www.cloudflare.com/api_json.html')
    params = {
        tkn: options.token,
        email: options.email,
        z: options.domain,
        a: 'fpurge_ts',
        v: 1
    }

    res = Net::HTTP.post_form(uri, params)
    body = JSON.parse(res.body)

    if body['result'] == 'success'
        puts 'Success!'
    else
        abort body['msg']
    end
end
registered(app, options_hash = {}) { |options| ... } click to toggle source
# File lib/middleman-cloudflare_purge/extension.rb, line 18
def registered(app, options_hash = {}, &block)
    options = Options.new(options_hash)
    yield options if block_given?

    @@options = options

    app.send :include, Helpers

    load_config
end
Also aliased as: included