Sha256: 07b6d5a8bc3817895500c534a373441f56860582604bcbf1ea7ed43a2875191b

Contents?: true

Size: 568 Bytes

Versions: 25

Compression:

Stored size: 568 Bytes

Contents

class Capper
  module Utils
    module Multistage

      def stage(name, &block)
        stages = fetch(:stages, [])

        if stages.include?(name)
          abort "Multiple stages with the same name are not allowed"
        end

        namespace :multistage do
          task(name, {}, &block)
        end

        desc "Set the target stage to `#{name}'."
        task(name) do
          set(:current_stage, name.to_sym)
          find_and_execute_task("multistage:#{name}")
        end

        set(:stages, [stages, name].flatten)
      end

    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
capper-0.8.1 lib/capper/utils/multistage.rb
capper-0.8.0 lib/capper/utils/multistage.rb
capper-0.7.3 lib/capper/utils/multistage.rb
capper-0.7.2 lib/capper/utils/multistage.rb
capper-0.7.1 lib/capper/utils/multistage.rb
capper-0.7.0 lib/capper/utils/multistage.rb
capper-0.6.8 lib/capper/utils/multistage.rb
capper-0.6.7 lib/capper/utils/multistage.rb
capper-0.6.6 lib/capper/utils/multistage.rb
capper-0.6.5 lib/capper/utils/multistage.rb
capper-0.6.4 lib/capper/utils/multistage.rb
capper-0.6.3 lib/capper/utils/multistage.rb
capper-0.6.2 lib/capper/utils/multistage.rb
capper-0.6.1 lib/capper/utils/multistage.rb
capper-0.6.0 lib/capper/utils/multistage.rb
capper-0.5.0 lib/capper/utils/multistage.rb
capper-0.4.0 lib/capper/utils/multistage.rb
capper-0.3.6 lib/capper/utils/multistage.rb
capper-0.3.5 lib/capper/utils/multistage.rb
capper-0.3.4 lib/capper/utils/multistage.rb