Sha256: 704dd98475e742859b6498929ef6043c236fb11ba7e2652ec980e550307987e7

Contents?: true

Size: 891 Bytes

Versions: 1

Compression:

Stored size: 891 Bytes

Contents

require 'vfs/storages/local'

module Vos
  module Drivers
    class Local < Abstract
      #
      # Vfs
      #
      include Vfs::Storages::Local::LocalVfsHelper
      def open &block
        block.call self if block
      end
      alias_method :open_fs, :open
      def close; end


      #
      # Shell
      #
      def exec command
        code, stdout, stderr = Open3.popen3 command do |stdin, stdout, stderr, waitth|
          [waitth.value.to_i, stdout.read, stderr.read]
        end

        return code, stdout, stderr
      end


      def bash command
        code, stdout_and_stderr = Open3.popen2e command do |stdin, stdout_and_stderr, wait_thread|
          [wait_thread.value.to_i, stdout_and_stderr.read]
        end

        return code, stdout_and_stderr
      end


      #
      # Other
      #
      def to_s; '' end
      def host; 'localhost' end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vos-0.3.13 lib/vos/drivers/local.rb