Sha256: 3b688b4bd807e6324c5b1f4324c26426b3c9d2d66dc70320c3db2343abee2811

Contents?: true

Size: 1.15 KB

Versions: 4

Compression:

Stored size: 1.15 KB

Contents

require "frizz"

module Frizz
  module Middleman
    module CmdHelper
      def self.run_with_live_output(cmd)
        IO.popen(cmd) do |io|
          io.each do |line|
            puts line
          end
        end
      end
    end

    class Tasks
      include Rake::DSL

      def self.install!
        new.install
      end

      def install
        namespace :frizz do
          namespace :build do
            relevant_environments.each do |name, env|
              desc "Build #{env.name}"
              task env.name do
                CmdHelper.run_with_live_output "FRIZZ_ENV=#{env.name} middleman build"
              end
            end
          end

          namespace :deploy do
            relevant_environments.each do |name, env|
              desc "Build and deploy #{env.name}"
              task env.name => ["frizz:build:#{env.name}"] do
                Frizz::Site.new(env.host).deploy!
              end
            end
          end
        end
      end

      private

      def relevant_environments
        Frizz.configuration.environments.reject { |name, env| name == "development" }
      end
    end
  end
end

Frizz::Middleman::Tasks.install!

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
frizz-1.1.1 lib/frizz/middleman/tasks.rb
frizz-1.1.0 lib/frizz/middleman/tasks.rb
frizz-1.0.1 lib/frizz/middleman/tasks.rb
frizz-1.0.0 lib/frizz/middleman/tasks.rb