Sha256: 9ae449f331a805eef62996755dccfb8711499b6a3ca9d8d8d013bfc1113a3ab0

Contents?: true

Size: 802 Bytes

Versions: 7

Compression:

Stored size: 802 Bytes

Contents

require 'railway'

module EY
  module Serverside
    module Callbacks
      module Executor

        class Base
          include Railway

          attr_reader :config, :shell, :hook

          def self.execute(config, shell, hook)
            new(config, shell, hook).execute
          end

          def initialize(config, shell, hook)
            @config = config
            @shell = shell
            @hook = hook
          end

          def execute
            call.or_else {|payload| handle_failure(payload)}
          end

          def handle_failure(payload = {})
            raise "Unimplemented Hook Executor!"
          end

          def paths
            config.paths
          end

          def hook_path
            hook.path
          end

        end

      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
engineyard-serverside-3.0.4 lib/engineyard-serverside/callbacks/executor/base.rb
engineyard-serverside-3.0.3 lib/engineyard-serverside/callbacks/executor/base.rb
engineyard-serverside-2.8.0 lib/engineyard-serverside/callbacks/executor/base.rb
engineyard-serverside-2.8.0.pre4 lib/engineyard-serverside/callbacks/executor/base.rb
engineyard-serverside-2.8.0.pre3 lib/engineyard-serverside/callbacks/executor/base.rb
engineyard-serverside-2.8.0.pre2 lib/engineyard-serverside/callbacks/executor/base.rb
engineyard-serverside-2.8.0.pre lib/engineyard-serverside/callbacks/executor/base.rb