Sha256: c90e067acc258b4576595798ad5d50aaa795cd0ef707138c1179fc2e379b78ae

Contents?: true

Size: 487 Bytes

Versions: 18

Compression:

Stored size: 487 Bytes

Contents

# frozen_string_literal: true

module Anyway
  module Utils
    # Cross-platform solution
    # taken from https://stackoverflow.com/a/5471032
    def self.which(cmd)
      exts = ENV["PATHEXT"] ? ENV["PATHEXT"].split(";") : [""]
      ENV["PATH"].split(File::PATH_SEPARATOR).each do |path|
        exts.each do |ext|
          exe = File.join(path, "#{cmd}#{ext}")
          return exe if File.executable?(exe) && !File.directory?(exe)
        end
      end
      nil
    end
  end
end

Version data entries

18 entries across 18 versions & 2 rubygems

Version Path
anyway_config-2.6.4 lib/anyway/utils/which.rb
anyway_config-2.6.3 lib/anyway/utils/which.rb
anyway_config-2.6.2 lib/anyway/utils/which.rb
anyway_config-2.6.1 lib/anyway/utils/which.rb
anyway_config-2.6.0 lib/anyway/utils/which.rb
runger_config-3.0.1 lib/anyway/utils/which.rb
runger_config-3.0.0 lib/anyway/utils/which.rb
runger_config-2.7.0 lib/anyway/utils/which.rb
runger_config-2.6.1 lib/anyway/utils/which.rb
runger_config-2.6.0 lib/anyway/utils/which.rb
anyway_config-2.5.4 lib/anyway/utils/which.rb
anyway_config-2.5.3 lib/anyway/utils/which.rb
anyway_config-2.5.2 lib/anyway/utils/which.rb
anyway_config-2.5.1 lib/anyway/utils/which.rb
anyway_config-2.5.0 lib/anyway/utils/which.rb
anyway_config-2.4.2 lib/anyway/utils/which.rb
anyway_config-2.4.1 lib/anyway/utils/which.rb
anyway_config-2.4.0 lib/anyway/utils/which.rb