Sha256: 90ff978de78c8f890e9d9bad3e7554ff672d080278559289e5b9965cdfe9df23

Contents?: true

Size: 812 Bytes

Versions: 11

Compression:

Stored size: 812 Bytes

Contents

module Specinfra
  class Runner
    def self.method_missing(meth, *args)
      backend   = Specinfra.backend
      processor = Specinfra::Processor
      
      if os.include?(:family) && os[:family] == 'windows'
        if backend.respond_to?(meth)
          backend.send(meth, *args)
        else
          run(meth, *args)
        end
      else
        if processor.respond_to?(meth)
          processor.send(meth, *args)
        elsif backend.respond_to?(meth)
          backend.send(meth, *args)
        else
          run(meth, *args)
        end
      end
    end

    private
    def self.run(meth, *args)
      cmd = Specinfra.command.get(meth, *args)
      ret = Specinfra.backend.run_command(cmd)
      if meth.to_s =~ /^check/
        ret.success?
      else
        ret
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
specinfra-2.0.0.beta43 lib/specinfra/runner.rb
specinfra-2.0.0.beta42 lib/specinfra/runner.rb
specinfra-2.0.0.beta41 lib/specinfra/runner.rb
specinfra-2.0.0.beta40 lib/specinfra/runner.rb
specinfra-2.0.0.beta39 lib/specinfra/runner.rb
specinfra-2.0.0.beta38 lib/specinfra/runner.rb
specinfra-2.0.0.beta37 lib/specinfra/runner.rb
specinfra-2.0.0.beta36 lib/specinfra/runner.rb
specinfra-2.0.0.beta35 lib/specinfra/runner.rb
specinfra-2.0.0.beta34 lib/specinfra/runner.rb
specinfra-2.0.0.beta33 lib/specinfra/runner.rb