Sha256: 43c5ba27206023851186ddf7bdbf29835763aea762bb657e1bb0a888c20bbd60

Contents?: true

Size: 761 Bytes

Versions: 2

Compression:

Stored size: 761 Bytes

Contents

require 'open3'

module LearnOpen
  module Adapters
    class SystemAdapter
      def self.open_editor(editor, path:)
        system("#{editor} .")
      end

      def self.open_login_shell(shell)
        exec("#{shell} -l")
      end

      def self.spawn(command, block: false)
        pid = Process.spawn(command, [:out, :err] => File::NULL)
        Process.waitpid(pid) if block
      end

      def self.run_command(command)
        system(command)
      end

      def self.run_command_with_capture(command)
        Open3.capture3(command)
      end

      def self.change_context_directory(dir)
        Dir.chdir(dir)
      end

      private

      def self.excluded_dirs
        "(node_modules/|\.git/|\.swp?x?$|~$|4913$)"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
learn-open-1.2.28 lib/learn_open/adapters/system_adapter.rb
learn-open-1.2.27 lib/learn_open/adapters/system_adapter.rb