class Frizz::Middleman::Tasks

Public Class Methods

install!() click to toggle source
# File lib/frizz/middleman/tasks.rb, line 18
def self.install!
  new.install
end

Public Instance Methods

install() click to toggle source
# File lib/frizz/middleman/tasks.rb, line 22
def install
  namespace :frizz do
    namespace :build do
      relevant_environments.each do |name, env|
        desc "Build #{env.name}"
        task env.name do
          FileUtils.rm_rf(Dir[".cache"])
          CmdHelper.run_with_live_output "FRIZZ_ENV=#{env.name} middleman build"
        end
      end
    end

    namespace :deploy do
      relevant_environments.each do |name, env|
        desc "Deploy build dir to #{env.name}: #{env.bucket}"
        task env.name do
          Frizz::Site.new(
            env.bucket,
            distribution: env.distribution,
            ignore: env.ignore,
            redirect_rules: env.redirect_rules,
            region: env.region
          ).deploy!
        end
      end
    end

    namespace :release do
      relevant_environments.each do |name, env|
        desc "Build and deploy #{env.name}: #{env.bucket}"
        task env.name => ["frizz:build:#{env.name}", "frizz:deploy:#{env.name}"] do; end
      end
    end
  end
end

Private Instance Methods

relevant_environments() click to toggle source
# File lib/frizz/middleman/tasks.rb, line 60
def relevant_environments
  Frizz.configuration.environments.reject { |name, env| name == "development" }
end