Sha256: 61a65aae6d949e8838e635a62cb7bafbd74aac41c57e75aa11a77bac163806bd

Contents?: true

Size: 881 Bytes

Versions: 1

Compression:

Stored size: 881 Bytes

Contents

require 'hashie/dash'
require 'thor'
require 'polytrix/core/manifest_section'

module Polytrix
  module Runners
    autoload :BuffShellOutExecutor, 'polytrix/runners/buff_shellout_executor'
    autoload :MixlibShellOutExecutor, 'polytrix/runners/mixlib_shellout_executor'

    class ExecutionResult < Polytrix::ManifestSection
      property :exitstatus, require: true
      property :stdout, required: true
      property :stderr, required: true
    end

    module Executor
      attr_writer :executor

      def executor
        @executor ||= if RUBY_PLATFORM == 'java'
                        Polytrix::Runners::BuffShellOutExecutor.new
                      else
                        Polytrix::Runners::MixlibShellOutExecutor.new
                      end
      end

      def execute(command, opts = {})
        executor.execute(command, opts)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
polytrix-0.1.0 lib/polytrix/runners/executor.rb