Sha256: 67daa023598db5a7acc905abb1c7fe867ca1176a4af03775809a978d2413b476

Contents?: true

Size: 813 Bytes

Versions: 1

Compression:

Stored size: 813 Bytes

Contents

require 'singleton'
require 'specinfra/command_result'
require 'specinfra/command/processor'

module Specinfra
  module Backend
    class Base
      include Singleton

      def set_commands(c)
        @commands = c
      end

      def set_example(e)
        @example = e
      end

      def commands
        @commands
      end

      def check_zero(cmd, *args)
        run_command(Specinfra.commands.send(cmd, *args)).success?
      end

      def method_missing(meth, *args, &block)
        if os[:family] == 'windows'
          if meth.to_s =~ /^check/
            backend.check_zero(meth, *args)
          else
            backend.run_command(Specinfra.commands.send(meth, *args))
          end
        else
          Specinfra::Command::Processor.send(meth, *args)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
specinfra-2.0.0.beta13 lib/specinfra/backend/base.rb