Sha256: 60b62eed394d788ae3c218efb4510c87cf1bc0ec8b5f42479691cef955b23523

Contents?: true

Size: 665 Bytes

Versions: 55

Compression:

Stored size: 665 Bytes

Contents

require 'singleton'
require 'specinfra/command_result'

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

      # Default action is to call check_zero with args
      def method_missing(meth, *args, &block)
        if meth.to_s =~ /^check/
          check_zero(meth, *args)
        else
          run_command(commands.send(meth, *args))
        end
      end
    end
  end
end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
specinfra-1.27.5 lib/specinfra/backend/base.rb
specinfra-1.27.4 lib/specinfra/backend/base.rb
specinfra-1.27.3 lib/specinfra/backend/base.rb
specinfra-1.27.2 lib/specinfra/backend/base.rb
specinfra-1.27.1 lib/specinfra/backend/base.rb
specinfra-1.27.0 lib/specinfra/backend/base.rb
specinfra-1.26.0 lib/specinfra/backend/base.rb
specinfra-1.25.8 lib/specinfra/backend/base.rb
specinfra-1.25.7 lib/specinfra/backend/base.rb
specinfra-1.25.6 lib/specinfra/backend/base.rb
specinfra-1.25.5 lib/specinfra/backend/base.rb
specinfra-1.25.4 lib/specinfra/backend/base.rb
specinfra-1.25.3 lib/specinfra/backend/base.rb
specinfra-1.25.2 lib/specinfra/backend/base.rb
specinfra-1.25.1 lib/specinfra/backend/base.rb
specinfra-1.25.0 lib/specinfra/backend/base.rb
specinfra-1.24.0 lib/specinfra/backend/base.rb
specinfra-1.23.1 lib/specinfra/backend/base.rb
specinfra-1.23.0 lib/specinfra/backend/base.rb
specinfra-1.22.1 lib/specinfra/backend/base.rb