Sha256: 88a0cefca0d5292704b83a8f5d84cde1c6beab56f1d78bcaf69da2df61546878

Contents?: true

Size: 793 Bytes

Versions: 4

Compression:

Stored size: 793 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(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(commands.send(meth, *args))
          end
        else
          Specinfra::Command::Processor.send(meth, *args)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
specinfra-2.0.0.beta12 lib/specinfra/backend/base.rb
specinfra-2.0.0.beta11 lib/specinfra/backend/base.rb
specinfra-2.0.0.beta10 lib/specinfra/backend/base.rb
specinfra-2.0.0.beta9 lib/specinfra/backend/base.rb