Sha256: 7148870cdbf9d7466d3f0c9d281b861a02ed081df71acb34a56b96ed3562de6d

Contents?: true

Size: 557 Bytes

Versions: 3

Compression:

Stored size: 557 Bytes

Contents

require 'controll/executor/base'

module Controll::Executor
  class Controlled < Delegator

    def execute
      validations
      do_command unless error?
    end

    # return last notification or :success as result
    # return <Event>
    def result
      main_event
    end

    class << self
      def execute &block
        define_method :execute do
          super
          instance_eval &block
          result
        end
      end
    end

    protected

    def validations
    end

    def error?
      notifications.error?
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
controll-0.3.2 lib/controll/executor/controlled.rb
controll-0.3.1 lib/controll/executor/controlled.rb
controll-0.3.0 lib/controll/executor/controlled.rb