tty-which 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +6 -1
- data/CHANGELOG.md +21 -0
- data/Gemfile +3 -4
- data/README.md +26 -15
- data/lib/tty/which.rb +40 -13
- data/lib/tty/which/version.rb +1 -1
- data/spec/unit/executable_file_spec.rb +13 -0
- data/spec/unit/exist_spec.rb +16 -0
- data/spec/unit/file_with_exec_ext_spec.rb +18 -0
- data/spec/unit/search_paths_spec.rb +28 -0
- data/spec/unit/which_spec.rb +13 -13
- data/tty-which.gemspec +4 -3
- metadata +42 -14
- data/.ruby-version +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b8ba3f124a38b56e73d335461e3871125afb27c9
|
4
|
+
data.tar.gz: 99374a1a7f27cf4250bf0c2f174a7502fc961dd0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a1cba33feb5370384091a94eae956413e9fbab13459bda4c1cf7f91a3bec7e3248ae783f0947d46e48b3fa1b8fa04f9b0c260f442bf941407a081b45dcaebe2f
|
7
|
+
data.tar.gz: 1c757f67ba1e85ecbda97e8473fbe4145c8284988cae873b66723565942984a18dd16ba86d7ad28ff24f1802f1cf91bd91ad6f737cffdb98dbeb8f2d939aa64b
|
data/.travis.yml
CHANGED
@@ -1,11 +1,14 @@
|
|
1
|
+
---
|
1
2
|
language: ruby
|
2
|
-
|
3
|
+
sudo: false
|
4
|
+
cache: bundler
|
3
5
|
script: "bundle exec rake ci"
|
4
6
|
rvm:
|
5
7
|
- 1.9
|
6
8
|
- 2.0
|
7
9
|
- 2.1
|
8
10
|
- 2.2
|
11
|
+
- 2.3.0
|
9
12
|
- ruby-head
|
10
13
|
- rbx-2
|
11
14
|
- jruby-19mode
|
@@ -18,3 +21,5 @@ matrix:
|
|
18
21
|
fast_finish: true
|
19
22
|
branches:
|
20
23
|
only: master
|
24
|
+
notifications:
|
25
|
+
email: false
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# Change log
|
2
|
+
|
3
|
+
## [v0.2.0] - 2016-07-01
|
4
|
+
|
5
|
+
### Added
|
6
|
+
* Add Which#exist? to check if file exists based on found path
|
7
|
+
|
8
|
+
### Changed
|
9
|
+
* Change Which#search_paths to allow for paths argument
|
10
|
+
* Rename Which#executable_file_with_ext? to #file_with_exec_ext?
|
11
|
+
* Rename Which#path_with_executable_file? to #file_with_path?
|
12
|
+
|
13
|
+
### Fixed
|
14
|
+
* Fix bug with Which#file_with_exec_ext? when comparing extensions
|
15
|
+
|
16
|
+
## [v0.1.0] - 2015-05-30
|
17
|
+
|
18
|
+
* Initial implementation and release
|
19
|
+
|
20
|
+
[v0.2.0]: https://github.com/piotrmurach/tty-which/compare/v0.1.0...v0.2.0
|
21
|
+
[v0.1.0]: https://github.com/piotrmurach/tty-which/compare/v0.1.0
|
data/Gemfile
CHANGED
@@ -3,13 +3,12 @@ source 'https://rubygems.org'
|
|
3
3
|
gemspec
|
4
4
|
|
5
5
|
group :development do
|
6
|
-
gem '
|
7
|
-
gem 'rspec', '~> 3.2.0'
|
6
|
+
gem 'rspec', '~> 3.5.0'
|
8
7
|
gem 'yard', '~> 0.8.7'
|
9
8
|
end
|
10
9
|
|
11
10
|
group :metrics do
|
12
|
-
gem 'coveralls', '~> 0.8.
|
13
|
-
gem 'simplecov', '~> 0.
|
11
|
+
gem 'coveralls', '~> 0.8.13'
|
12
|
+
gem 'simplecov', '~> 0.11.2'
|
14
13
|
gem 'yardstick', '~> 0.9.9'
|
15
14
|
end
|
data/README.md
CHANGED
@@ -1,17 +1,20 @@
|
|
1
|
-
# TTY::Which
|
1
|
+
# TTY::Which [][gitter]
|
2
2
|
[][gem]
|
3
|
-
[][travis]
|
4
|
+
[][codeclimate]
|
5
|
+
[][coveralls]
|
6
|
+
[][inchpages]
|
7
7
|
|
8
|
+
[gitter]: https://gitter.im/piotrmurach/tty
|
8
9
|
[gem]: http://badge.fury.io/rb/tty-which
|
9
|
-
[travis]: http://travis-ci.org/
|
10
|
-
[codeclimate]: https://codeclimate.com/github/
|
11
|
-
[coveralls]: https://coveralls.io/
|
12
|
-
[inchpages]: http://inch-ci.org/github/
|
10
|
+
[travis]: http://travis-ci.org/piotrmurach/tty-which
|
11
|
+
[codeclimate]: https://codeclimate.com/github/piotrmurach/tty-which
|
12
|
+
[coveralls]: https://coveralls.io/github/piotrmurach/tty-which
|
13
|
+
[inchpages]: http://inch-ci.org/github/piotrmurach/tty-which
|
13
14
|
|
14
|
-
> Platform independent implementation of Unix `which` utility that searches for executable file in the path.
|
15
|
+
> Platform independent implementation of Unix `which` utility that searches for executable file in the path variable.
|
16
|
+
|
17
|
+
**TTY::Which** provides cross-platform executables search component for [TTY](https://github.com/piotrmurach/tty) toolkit.
|
15
18
|
|
16
19
|
## Installation
|
17
20
|
|
@@ -29,24 +32,32 @@ Or install it yourself as:
|
|
29
32
|
|
30
33
|
## Usage
|
31
34
|
|
32
|
-
**TTY::Which**
|
35
|
+
**TTY::Which** has `which` method that searches the path for executable file.
|
36
|
+
|
37
|
+
When the path to executable exists, an absolute path is returned, otherwise `nil`.
|
33
38
|
|
34
|
-
For example, to find location for a single
|
39
|
+
For example, to find location for a single executable do:
|
35
40
|
|
36
41
|
```ruby
|
37
42
|
TTY::Which.which('less') # => '/usr/bin/less'
|
38
43
|
TTY::Which.which('git') # => 'C:\Program Files\Git\bin\git'
|
39
44
|
```
|
40
45
|
|
41
|
-
You can also check an absolute path:
|
46
|
+
You can also check an absolute path to executable:
|
42
47
|
|
43
48
|
```ruby
|
44
49
|
TTY::Which.which('/usr/bin/ruby') # => '/usr/bin/ruby'
|
45
50
|
```
|
46
51
|
|
52
|
+
The `exist?` returns `true` if the executable exists in the path and `false` otherwise:
|
53
|
+
|
54
|
+
```ruby
|
55
|
+
TTY::Which.exist?('ruby') # => ruby
|
56
|
+
```
|
57
|
+
|
47
58
|
## Contributing
|
48
59
|
|
49
|
-
1. Fork it ( https://github.com/
|
60
|
+
1. Fork it ( https://github.com/piotrmurach/tty-which/fork )
|
50
61
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
51
62
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
52
63
|
4. Push to the branch (`git push origin my-new-feature`)
|
@@ -54,4 +65,4 @@ TTY::Which.which('/usr/bin/ruby') # => '/usr/bin/ruby'
|
|
54
65
|
|
55
66
|
## Copyright
|
56
67
|
|
57
|
-
Copyright (c) 2015 Piotr Murach. See LICENSE for further details.
|
68
|
+
Copyright (c) 2015-2016 Piotr Murach. See LICENSE for further details.
|
data/lib/tty/which.rb
CHANGED
@@ -5,7 +5,6 @@ require 'tty/which/version'
|
|
5
5
|
module TTY
|
6
6
|
# A class responsible for finding an executable in the PATH
|
7
7
|
module Which
|
8
|
-
extend self
|
9
8
|
# Find an executable in a platform independent way
|
10
9
|
#
|
11
10
|
# @param [String] command
|
@@ -21,7 +20,7 @@ module TTY
|
|
21
20
|
#
|
22
21
|
# @api public
|
23
22
|
def which(cmd, search_path = nil)
|
24
|
-
if
|
23
|
+
if file_with_path?(cmd)
|
25
24
|
return cmd if executable_file?(cmd)
|
26
25
|
extensions.each do |ext|
|
27
26
|
exe = File.join(cmd, ext)
|
@@ -32,7 +31,7 @@ module TTY
|
|
32
31
|
|
33
32
|
search_path ||= search_paths
|
34
33
|
search_path.each do |path|
|
35
|
-
if
|
34
|
+
if file_with_exec_ext?(cmd)
|
36
35
|
exe = File.join(path, cmd)
|
37
36
|
return File.absolute_path(exe) if executable_file?(exe)
|
38
37
|
end
|
@@ -43,23 +42,46 @@ module TTY
|
|
43
42
|
end
|
44
43
|
nil
|
45
44
|
end
|
45
|
+
module_function :which
|
46
46
|
|
47
|
-
|
47
|
+
# Check if executable exists in the path
|
48
|
+
#
|
49
|
+
# @param [String] command
|
50
|
+
# the executable to check
|
51
|
+
#
|
52
|
+
# @param [String] search_path
|
53
|
+
# paths to check
|
54
|
+
#
|
55
|
+
# @return [Boolean]
|
56
|
+
#
|
57
|
+
# @api public
|
58
|
+
def exist?(cmd, search_path = nil)
|
59
|
+
!which(cmd, search_path).nil?
|
60
|
+
end
|
61
|
+
module_function :exist?
|
48
62
|
|
49
63
|
# Find default system paths
|
50
64
|
#
|
65
|
+
# @param [String] path
|
66
|
+
# the path to search through
|
67
|
+
#
|
68
|
+
# @example
|
69
|
+
# search_paths("/usr/local/bin:/bin")
|
70
|
+
# # => ['/bin']
|
71
|
+
#
|
51
72
|
# @return [Array[String]]
|
52
73
|
# the array of paths to search
|
53
74
|
#
|
54
75
|
# @api private
|
55
|
-
def search_paths
|
56
|
-
paths = if
|
57
|
-
|
76
|
+
def search_paths(path = ENV['PATH'])
|
77
|
+
paths = if path && !path.empty?
|
78
|
+
path.split(File::PATH_SEPARATOR)
|
58
79
|
else
|
59
80
|
%w(/usr/local/bin /usr/ucb /usr/bin /bin)
|
60
81
|
end
|
61
82
|
paths.select { |path| Dir.exist?(path) }
|
62
83
|
end
|
84
|
+
module_function :search_paths
|
63
85
|
|
64
86
|
# All files that contain a '.' in name
|
65
87
|
#
|
@@ -78,6 +100,7 @@ module TTY
|
|
78
100
|
return [''] unless path_ext
|
79
101
|
path_ext.split(';').select { |part| part.include?('.') }
|
80
102
|
end
|
103
|
+
module_function :extensions
|
81
104
|
|
82
105
|
# Determines if filename is an executable file
|
83
106
|
#
|
@@ -101,23 +124,26 @@ module TTY
|
|
101
124
|
path ||= filename
|
102
125
|
File.file?(path) && File.executable?(path)
|
103
126
|
end
|
127
|
+
module_function :executable_file?
|
104
128
|
|
105
|
-
# Check if command itself has extension
|
129
|
+
# Check if command itself has executable extension
|
106
130
|
#
|
107
131
|
# @param [String] filename
|
108
|
-
# the path to file
|
132
|
+
# the path to executable file
|
109
133
|
#
|
110
134
|
# @example
|
111
|
-
#
|
135
|
+
# file_with_exec_ext?("file.bat")
|
136
|
+
# # => true
|
112
137
|
#
|
113
138
|
# @return [Boolean]
|
114
139
|
#
|
115
140
|
# @api private
|
116
|
-
def
|
141
|
+
def file_with_exec_ext?(filename)
|
117
142
|
extension = File.extname(filename)
|
118
143
|
return false if extension.empty?
|
119
|
-
extensions.any? { |ext| extension.casecmp(ext) }
|
144
|
+
extensions.any? { |ext| extension.casecmp(ext).zero? }
|
120
145
|
end
|
146
|
+
module_function :file_with_exec_ext?
|
121
147
|
|
122
148
|
# Check if executable file is part of absolute/relative path
|
123
149
|
#
|
@@ -127,8 +153,9 @@ module TTY
|
|
127
153
|
# @return [Boolean]
|
128
154
|
#
|
129
155
|
# @api private
|
130
|
-
def
|
156
|
+
def file_with_path?(cmd)
|
131
157
|
File.expand_path(cmd) == cmd
|
132
158
|
end
|
159
|
+
module_function :file_with_path?
|
133
160
|
end # Which
|
134
161
|
end # TTY
|
data/lib/tty/which/version.rb
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
RSpec.describe TTY::Which, '#executable_file?' do
|
4
|
+
it "checks if file is executable" do
|
5
|
+
allow(File).to receive(:join).with('/usr/local/bin', 'ruby').
|
6
|
+
and_return('/usr/local/bin/ruby')
|
7
|
+
|
8
|
+
allow(File).to receive(:file?).and_return(true)
|
9
|
+
allow(File).to receive(:executable?).with('/usr/local/bin/ruby').and_return(true)
|
10
|
+
|
11
|
+
expect(TTY::Which.executable_file?('ruby', '/usr/local/bin')).to eq(true)
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
RSpec.describe TTY::Which, '#exist?' do
|
4
|
+
it "finds executable in the path" do
|
5
|
+
allow(TTY::Which).to receive(:which).with('ruby', nil).
|
6
|
+
and_return('/usr/loca/bin/ruby')
|
7
|
+
|
8
|
+
expect(TTY::Which.exist?('ruby')).to be(true)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "fails to find executable in the path" do
|
12
|
+
allow(TTY::Which).to receive(:which).with('ruby', nil).and_return(nil)
|
13
|
+
|
14
|
+
expect(TTY::Which.exist?('ruby')).to be(false)
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
RSpec.describe TTY::Which, "#file_with_exec_ext?" do
|
4
|
+
it "detects executable extension" do
|
5
|
+
filename = 'file.exe'
|
6
|
+
allow(TTY::Which).to receive(:extensions).and_return(['.EXE', '.BAT', '.CMD'])
|
7
|
+
|
8
|
+
expect(TTY::Which.file_with_exec_ext?(filename)).to eq(true)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "fails to detect executable extension" do
|
12
|
+
filename = 'file.unknown'
|
13
|
+
allow(TTY::Which).to receive(:extensions).and_return(['.EXE', '.BAT'])
|
14
|
+
|
15
|
+
expect(TTY::Which.file_with_exec_ext?(filename)).to eq(false)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
RSpec.describe TTY::Which, '#search_paths' do
|
4
|
+
it "defauls search paths" do
|
5
|
+
allow(ENV).to receive(:[]).with('PATH').and_return([])
|
6
|
+
allow(Dir).to receive(:exist?).and_return(true)
|
7
|
+
|
8
|
+
expect(TTY::Which.search_paths).to eq([
|
9
|
+
'/usr/local/bin', '/usr/ucb', '/usr/bin', '/bin'])
|
10
|
+
end
|
11
|
+
|
12
|
+
it "finds paths in path environment" do
|
13
|
+
path = "/bin:/usr/bin:/usr/local/bin:/opt/local/bin"
|
14
|
+
allow(ENV).to receive(:[]).with('PATH').and_return(path)
|
15
|
+
allow(Dir).to receive(:exist?).and_return(true)
|
16
|
+
|
17
|
+
expect(TTY::Which.search_paths).to eq([
|
18
|
+
'/bin', '/usr/bin', '/usr/local/bin', '/opt/local/bin'])
|
19
|
+
end
|
20
|
+
|
21
|
+
it "accepts paths to search as an argument" do
|
22
|
+
path = "/bin:/usr/bin:/usr/local/bin:/opt/local/bin"
|
23
|
+
allow(Dir).to receive(:exist?).and_return(true)
|
24
|
+
|
25
|
+
expect(TTY::Which.search_paths(path)).to eq([
|
26
|
+
'/bin', '/usr/bin', '/usr/local/bin', '/opt/local/bin'])
|
27
|
+
end
|
28
|
+
end
|
data/spec/unit/which_spec.rb
CHANGED
@@ -8,23 +8,23 @@ RSpec.describe TTY::Which, '#which' do
|
|
8
8
|
let(:path) { "/bin:/usr/bin:/usr/local/bin:/opt/local/bin" }
|
9
9
|
let(:cmds) { %w(/usr/bin/ls /bin/sh /usr/bin/ruby /usr/local/git/bin/git) }
|
10
10
|
|
11
|
-
before
|
11
|
+
before do
|
12
12
|
allow(ENV).to receive(:[]).with('PATHEXT').and_return(nil)
|
13
13
|
allow(ENV).to receive(:[]).with('PATH').and_return(path)
|
14
14
|
stub_const("File::PATH_SEPARATOR", ':')
|
15
15
|
stub_const("File::SEPARATOR", '/')
|
16
16
|
allow(Dir).to receive(:exist?) { true }
|
17
|
-
|
17
|
+
end
|
18
18
|
|
19
19
|
it "handles path with executable file /bin/sh" do
|
20
|
-
allow(Which).to receive(:
|
20
|
+
allow(Which).to receive(:file_with_path?) { true }
|
21
21
|
allow(Which).to receive(:executable_file?) { true }
|
22
22
|
|
23
23
|
expect(Which.which('/bin/sh')).to eq('/bin/sh')
|
24
24
|
end
|
25
25
|
|
26
26
|
it "fails to find path executable" do
|
27
|
-
allow(Which).to receive(:
|
27
|
+
allow(Which).to receive(:file_with_path?) { true }
|
28
28
|
allow(Which).to receive(:executable_file?) { false }
|
29
29
|
|
30
30
|
expect(Which.which('/bin/sh')).to eq(nil)
|
@@ -34,8 +34,8 @@ RSpec.describe TTY::Which, '#which' do
|
|
34
34
|
dir_path = "/usr/local/bin"
|
35
35
|
cmd = "git"
|
36
36
|
expected_path = "#{dir_path}/#{cmd}"
|
37
|
-
allow(Which).to receive(:
|
38
|
-
allow(Which).to receive(:
|
37
|
+
allow(Which).to receive(:file_with_path?) { false }
|
38
|
+
allow(Which).to receive(:file_with_exec_ext?) { false }
|
39
39
|
|
40
40
|
allow(File).to receive(:join)
|
41
41
|
allow(File).to receive(:join).with(dir_path, cmd).and_return(expected_path)
|
@@ -52,16 +52,16 @@ RSpec.describe TTY::Which, '#which' do
|
|
52
52
|
let(:path) { "C:\\Program Files\\Git\\bin;" }
|
53
53
|
let(:exts) { ".com;.exe;.bat;.cmd" }
|
54
54
|
|
55
|
-
before
|
55
|
+
before do
|
56
56
|
allow(ENV).to receive(:[]).with('PATHEXT').and_return(exts)
|
57
57
|
allow(ENV).to receive(:[]).with('PATH').and_return(path)
|
58
58
|
stub_const("File::PATH_SEPARATOR", ';')
|
59
59
|
stub_const("File::SEPARATOR", '\\')
|
60
60
|
allow(Dir).to receive(:exist?) { true }
|
61
|
-
|
61
|
+
end
|
62
62
|
|
63
63
|
it "handles path with executable file C:\\Program Files\\Git\\bin\\git" do
|
64
|
-
allow(Which).to receive(:
|
64
|
+
allow(Which).to receive(:file_with_path?) { true }
|
65
65
|
allow(Which).to receive(:executable_file?).with(any_args) { false }
|
66
66
|
|
67
67
|
path_with_exe_file = 'C:\Program Files\Git\bin\git'
|
@@ -81,8 +81,8 @@ RSpec.describe TTY::Which, '#which' do
|
|
81
81
|
dir_path = "C:\\Program Files\\Git\\bin"
|
82
82
|
cmd = 'git.exe'
|
83
83
|
expected_path = "#{dir_path}\\#{cmd}"
|
84
|
-
allow(Which).to receive(:
|
85
|
-
allow(Which).to receive(:
|
84
|
+
allow(Which).to receive(:file_with_path?) { false }
|
85
|
+
allow(Which).to receive(:file_with_exec_ext?).with(cmd) { true }
|
86
86
|
|
87
87
|
allow(File).to receive(:join).with(dir_path, any_args)
|
88
88
|
allow(File).to receive(:join).with(dir_path, cmd).and_return(expected_path)
|
@@ -99,8 +99,8 @@ RSpec.describe TTY::Which, '#which' do
|
|
99
99
|
dir_path = "C:\\Program Files\\Git\\bin"
|
100
100
|
cmd = 'git'
|
101
101
|
expected_path = "#{dir_path}\\#{cmd}.exe"
|
102
|
-
allow(Which).to receive(:
|
103
|
-
allow(Which).to receive(:
|
102
|
+
allow(Which).to receive(:file_with_path?) { false }
|
103
|
+
allow(Which).to receive(:file_with_exec_ext?).with(cmd) { false }
|
104
104
|
|
105
105
|
allow(File).to receive(:join).with(dir_path, any_args)
|
106
106
|
allow(File).to receive(:join).with(dir_path, "#{cmd}.exe").
|
data/tty-which.gemspec
CHANGED
@@ -10,13 +10,14 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = [""]
|
11
11
|
spec.summary = %q{Platform independent implementation of Unix which command.}
|
12
12
|
spec.description = %q{Platform independent implementation of Unix which command.}
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "http://piotrmurach.github.io/tty/"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
-
spec.test_files = spec.files.grep(%r{^(
|
18
|
+
spec.test_files = spec.files.grep(%r{^(spec)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_development_dependency
|
21
|
+
spec.add_development_dependency 'bundler', '>= 1.5.0', '< 2.0'
|
22
|
+
spec.add_development_dependency 'rake'
|
22
23
|
end
|
metadata
CHANGED
@@ -1,29 +1,49 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tty-which
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Murach
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.5.0
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '2.0'
|
23
|
+
type: :development
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.5.0
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '2.0'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: rake
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
20
40
|
type: :development
|
21
41
|
prerelease: false
|
22
42
|
version_requirements: !ruby/object:Gem::Requirement
|
23
43
|
requirements:
|
24
|
-
- -
|
44
|
+
- - ">="
|
25
45
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
46
|
+
version: '0'
|
27
47
|
description: Platform independent implementation of Unix which command.
|
28
48
|
email:
|
29
49
|
- ''
|
@@ -31,10 +51,10 @@ executables: []
|
|
31
51
|
extensions: []
|
32
52
|
extra_rdoc_files: []
|
33
53
|
files:
|
34
|
-
- .gitignore
|
35
|
-
- .rspec
|
36
|
-
- .
|
37
|
-
- .
|
54
|
+
- ".gitignore"
|
55
|
+
- ".rspec"
|
56
|
+
- ".travis.yml"
|
57
|
+
- CHANGELOG.md
|
38
58
|
- Gemfile
|
39
59
|
- LICENSE.txt
|
40
60
|
- README.md
|
@@ -43,12 +63,16 @@ files:
|
|
43
63
|
- lib/tty/which.rb
|
44
64
|
- lib/tty/which/version.rb
|
45
65
|
- spec/spec_helper.rb
|
66
|
+
- spec/unit/executable_file_spec.rb
|
67
|
+
- spec/unit/exist_spec.rb
|
68
|
+
- spec/unit/file_with_exec_ext_spec.rb
|
69
|
+
- spec/unit/search_paths_spec.rb
|
46
70
|
- spec/unit/which_spec.rb
|
47
71
|
- tasks/console.rake
|
48
72
|
- tasks/coverage.rake
|
49
73
|
- tasks/spec.rake
|
50
74
|
- tty-which.gemspec
|
51
|
-
homepage:
|
75
|
+
homepage: http://piotrmurach.github.io/tty/
|
52
76
|
licenses:
|
53
77
|
- MIT
|
54
78
|
metadata: {}
|
@@ -58,21 +82,25 @@ require_paths:
|
|
58
82
|
- lib
|
59
83
|
required_ruby_version: !ruby/object:Gem::Requirement
|
60
84
|
requirements:
|
61
|
-
- -
|
85
|
+
- - ">="
|
62
86
|
- !ruby/object:Gem::Version
|
63
87
|
version: '0'
|
64
88
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
65
89
|
requirements:
|
66
|
-
- -
|
90
|
+
- - ">="
|
67
91
|
- !ruby/object:Gem::Version
|
68
92
|
version: '0'
|
69
93
|
requirements: []
|
70
94
|
rubyforge_project:
|
71
|
-
rubygems_version: 2.
|
95
|
+
rubygems_version: 2.5.1
|
72
96
|
signing_key:
|
73
97
|
specification_version: 4
|
74
98
|
summary: Platform independent implementation of Unix which command.
|
75
99
|
test_files:
|
76
100
|
- spec/spec_helper.rb
|
101
|
+
- spec/unit/executable_file_spec.rb
|
102
|
+
- spec/unit/exist_spec.rb
|
103
|
+
- spec/unit/file_with_exec_ext_spec.rb
|
104
|
+
- spec/unit/search_paths_spec.rb
|
77
105
|
- spec/unit/which_spec.rb
|
78
106
|
has_rdoc:
|
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
2.0.0
|