Sha256: a07a30807667aff0ba7fd31ebea1ca87da4a97c942dea4b7ee2aedaf18a4a2a2

Contents?: true

Size: 570 Bytes

Versions: 2

Compression:

Stored size: 570 Bytes

Contents

module Scrooge
  module Strategy
    class Controller
      
      attr_accessor :strategy
      attr_reader :thread
                    
      def initialize( strategy )
        @strategy = strategy
      end
      
      # Execute a given strategy
      #
      def run!
        @thread = Thread.new do
          Thread.current.abort_on_exception = true
          stages.map do |stage|
            stage.execute!
          end
        end
      end
      
      private
      
        def stages #:nodoc:
          @strategy.stages
        end
      
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
methodmissing-scrooge-1.0.3 lib/scrooge/strategy/controller.rb
methodmissing-scrooge-1.0.4 lib/scrooge/strategy/controller.rb