whichr 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/whichr.rb +49 -49
  2. metadata +21 -19
data/lib/whichr.rb CHANGED
@@ -5,9 +5,9 @@ class RubyWhich
5
5
  # like ['abc'] (in windows, also searches for abc.bat)
6
6
  # or ['ab*'] (a glob, in windows, also reveals ab*.bat)
7
7
  def which( names, return_non_executables_too = false, realtime_output = false )
8
-
8
+
9
9
  puts "higher in the list is executed first" if realtime_output
10
-
10
+
11
11
  names = Array(names)
12
12
 
13
13
  if OS.windows?
@@ -24,64 +24,64 @@ class RubyWhich
24
24
  path = ENV['PATH']
25
25
  # on windows add cwd
26
26
  path += (File::PATH_SEPARATOR + '.') if OS.windows?
27
-
27
+
28
28
  path.split(File::PATH_SEPARATOR).each do |dir|
29
-
29
+
30
30
  for name in names
31
31
  if OS.windows?
32
- names2 = Dir.glob(dir.gsub("\\", "/") + '/' + name.strip)
33
- unless return_non_executables_too
34
- names2 = names2.select{|name| File.executable?(name)} # only real execs
35
- end
36
- names2.collect!{|name| File.expand_path(name)} # get the right capitalization
32
+ names2 = Dir.glob(dir.gsub("\\", "/") + '/' + name.strip)
33
+ unless return_non_executables_too
34
+ names2 = names2.select{|name| File.executable?(name)} # only real execs
35
+ end
36
+ names2.collect!{|name| File.expand_path(name)} # get the right capitalization
37
37
  else
38
- names2 = Dir.glob(dir + '/' + name.strip)
39
- end
40
-
41
- # expand paths
42
- names2.collect!{|name| File.expand_path(name).gsub(File::SEPARATOR, File::ALT_SEPARATOR || File::SEPARATOR)}
43
-
44
- # make sure we aren't repeating a previous
45
- uniques = names2.select{|new|
46
- new = new.downcase if OS.windows?
47
- am_unique = true
48
- all_found.each{|old|
49
- old = old.downcase if OS.windows?
50
- if old == new
51
- am_unique = false
52
- break
53
- end
54
- }
55
- am_unique
56
- }
57
-
58
- if realtime_output
59
- uniques.each{ |file|
60
- print file
61
-
62
- if !File.executable? file
63
- print ' (is not executable)'
64
- end
65
-
66
- if File.directory?(file)
67
- print ' (is a directory)'
68
- end
69
- puts
70
- }
71
- end
72
-
73
- all_found += uniques
74
-
38
+ names2 = Dir.glob(dir + '/' + name.strip)
39
+ end
40
+
41
+ # expand paths
42
+ names2.collect!{|name| File.expand_path(name).gsub(File::SEPARATOR, File::ALT_SEPARATOR || File::SEPARATOR)}
43
+
44
+ # make sure we aren't repeating a previous
45
+ uniques = names2.select{|new|
46
+ new = new.downcase if OS.windows?
47
+ am_unique = true
48
+ all_found.each{|old|
49
+ old = old.downcase if OS.windows?
50
+ if old == new
51
+ am_unique = false
52
+ break
53
+ end
54
+ }
55
+ am_unique
56
+ }
57
+
58
+ if realtime_output
59
+ uniques.each{ |file|
60
+ print file
61
+
62
+ if !File.executable? file
63
+ print += ' (is not executable)'
64
+ end
65
+
66
+ if File.directory?(file)
67
+ print ' (is a directory)'
68
+ end
69
+ puts
70
+ }
71
+ end
72
+
73
+ all_found += uniques
74
+
75
75
  end
76
76
  end
77
-
77
+
78
78
  if realtime_output
79
79
  if all_found == []
80
- puts 'none found (' + names.inspect + ')'
80
+ puts 'none found (' + names.inspect + ')'
81
81
  end
82
82
  end
83
83
 
84
- all_found
84
+ all_found
85
85
  end
86
86
 
87
87
  end
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: whichr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 3
8
+ - 3
9
+ version: 0.3.3
5
10
  platform: ruby
6
11
  authors:
7
12
  - Roger Pack
@@ -9,29 +14,22 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-12-23 00:00:00 -07:00
17
+ date: 2010-11-24 00:00:00 -07:00
13
18
  default_executable:
14
19
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: rdoc
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 2.3.0
24
- version:
25
20
  - !ruby/object:Gem::Dependency
26
21
  name: sane
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
30
25
  requirements:
31
26
  - - ">="
32
27
  - !ruby/object:Gem::Version
28
+ segments:
29
+ - 0
33
30
  version: "0"
34
- version:
31
+ type: :runtime
32
+ version_requirements: *id001
35
33
  description: windows friendly which command
36
34
  email:
37
35
  - rogerdpack@gmail.comm
@@ -55,21 +53,25 @@ rdoc_options: []
55
53
  require_paths:
56
54
  - lib
57
55
  required_ruby_version: !ruby/object:Gem::Requirement
56
+ none: false
58
57
  requirements:
59
58
  - - ">="
60
59
  - !ruby/object:Gem::Version
60
+ segments:
61
+ - 0
61
62
  version: "0"
62
- version:
63
63
  required_rubygems_version: !ruby/object:Gem::Requirement
64
+ none: false
64
65
  requirements:
65
66
  - - ">="
66
67
  - !ruby/object:Gem::Version
68
+ segments:
69
+ - 0
67
70
  version: "0"
68
- version:
69
71
  requirements: []
70
72
 
71
73
  rubyforge_project:
72
- rubygems_version: 1.3.5
74
+ rubygems_version: 1.3.7
73
75
  signing_key:
74
76
  specification_version: 3
75
77
  summary: windows friendly which command