bundler_bash_completion 0.0.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -2
- data/README.mdown +1 -1
- data/VERSION +1 -1
- data/bundler_bash_completion.gemspec +0 -2
- data/lib/bundler_bash_completion.rb +44 -6
- data/spec/bundler_bash_completion_spec.rb +1 -1
- metadata +7 -18
data/Gemfile.lock
CHANGED
data/README.mdown
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0
|
1
|
+
0.1.0
|
@@ -15,8 +15,6 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
16
16
|
s.require_paths = ['lib']
|
17
17
|
|
18
|
-
s.add_dependency 'bundler', '>= 1.0.0'
|
19
|
-
|
20
18
|
s.add_development_dependency 'rake', '~> 0.9.2.2'
|
21
19
|
s.add_development_dependency 'rspec', '~> 2.9.0'
|
22
20
|
end
|
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'yaml'
|
3
|
+
|
1
4
|
class BundlerBashCompletion
|
2
5
|
|
3
6
|
TASKS = {
|
@@ -91,10 +94,14 @@ class BundlerBashCompletion
|
|
91
94
|
|
92
95
|
def bins
|
93
96
|
@bins ||= begin
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
97
|
+
gem_paths.map { |path| Dir.glob("#{path}/{bin,exe}/*") }.tap do |paths|
|
98
|
+
paths.flatten!
|
99
|
+
paths.reject! { |path| !File.executable?(path) }
|
100
|
+
paths.map! { |path| File.basename(path) }
|
101
|
+
paths.push('gem')
|
102
|
+
paths.sort!
|
103
|
+
paths.uniq!
|
104
|
+
end
|
98
105
|
end
|
99
106
|
end
|
100
107
|
|
@@ -114,8 +121,17 @@ class BundlerBashCompletion
|
|
114
121
|
|
115
122
|
def gems
|
116
123
|
@gems ||= begin
|
117
|
-
|
118
|
-
|
124
|
+
gems = File.readlines("#{Dir.pwd}/Gemfile.lock").grep(/\(.+\)/).tap do |lines|
|
125
|
+
lines.each do |line|
|
126
|
+
line.gsub!(/\(.+/, '')
|
127
|
+
line.gsub!(/\s+/, '')
|
128
|
+
line.strip!
|
129
|
+
end
|
130
|
+
end.tap do |gems|
|
131
|
+
gems.push('bundler')
|
132
|
+
gems.sort!
|
133
|
+
gems.uniq!
|
134
|
+
end
|
119
135
|
rescue Exception
|
120
136
|
[]
|
121
137
|
end
|
@@ -135,10 +151,32 @@ class BundlerBashCompletion
|
|
135
151
|
command == 'bundle'
|
136
152
|
end
|
137
153
|
|
154
|
+
def bundle_path
|
155
|
+
@bundle_path ||= begin
|
156
|
+
require 'yaml'
|
157
|
+
path = YAML.load_file('.bundle/config')['BUNDLE_PATH']
|
158
|
+
path && File.expand_path(path)
|
159
|
+
rescue
|
160
|
+
nil
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
138
164
|
def completion_step
|
139
165
|
@completion_step ||= arguments.size - (completion_word.empty? ? 0 : 1)
|
140
166
|
end
|
141
167
|
|
168
|
+
def gem_paths
|
169
|
+
@gem_paths ||= begin
|
170
|
+
paths = Gem.path.map do |path|
|
171
|
+
Dir.glob("#{path}/gems/*")
|
172
|
+
end
|
173
|
+
paths << Dir.glob("#{bundle_path}/ruby/*/gems/*")
|
174
|
+
paths.flatten!
|
175
|
+
paths.uniq!
|
176
|
+
paths
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
142
180
|
def tasks_completion
|
143
181
|
TASKS.keys.select { |t| t.start_with?(completion_word) }
|
144
182
|
end
|
@@ -17,7 +17,7 @@ describe BundlerBashCompletion do
|
|
17
17
|
describe '#bins' do
|
18
18
|
|
19
19
|
it 'is installed binaries' do
|
20
|
-
completion.bins.should include('autospec', '
|
20
|
+
completion.bins.should include('autospec', 'gem', 'ldiff', 'rake', 'rspec')
|
21
21
|
completion.bins.should_not include('rails')
|
22
22
|
end
|
23
23
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bundler_bash_completion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,20 +11,9 @@ bindir: bin
|
|
11
11
|
cert_chain: []
|
12
12
|
date: 2012-03-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: bundler
|
16
|
-
requirement: &70157767591180 !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 1.0.0
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: *70157767591180
|
25
14
|
- !ruby/object:Gem::Dependency
|
26
15
|
name: rake
|
27
|
-
requirement: &
|
16
|
+
requirement: &70210066892200 !ruby/object:Gem::Requirement
|
28
17
|
none: false
|
29
18
|
requirements:
|
30
19
|
- - ~>
|
@@ -32,10 +21,10 @@ dependencies:
|
|
32
21
|
version: 0.9.2.2
|
33
22
|
type: :development
|
34
23
|
prerelease: false
|
35
|
-
version_requirements: *
|
24
|
+
version_requirements: *70210066892200
|
36
25
|
- !ruby/object:Gem::Dependency
|
37
26
|
name: rspec
|
38
|
-
requirement: &
|
27
|
+
requirement: &70210066889080 !ruby/object:Gem::Requirement
|
39
28
|
none: false
|
40
29
|
requirements:
|
41
30
|
- - ~>
|
@@ -43,7 +32,7 @@ dependencies:
|
|
43
32
|
version: 2.9.0
|
44
33
|
type: :development
|
45
34
|
prerelease: false
|
46
|
-
version_requirements: *
|
35
|
+
version_requirements: *70210066889080
|
47
36
|
description: Provides bash completion for bundle command
|
48
37
|
email: al@alweb.org
|
49
38
|
executables:
|
@@ -78,7 +67,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
78
67
|
version: '0'
|
79
68
|
segments:
|
80
69
|
- 0
|
81
|
-
hash: -
|
70
|
+
hash: -2647878609978954378
|
82
71
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
83
72
|
none: false
|
84
73
|
requirements:
|
@@ -87,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
76
|
version: '0'
|
88
77
|
segments:
|
89
78
|
- 0
|
90
|
-
hash: -
|
79
|
+
hash: -2647878609978954378
|
91
80
|
requirements: []
|
92
81
|
rubyforge_project: bundler_bash_completion
|
93
82
|
rubygems_version: 1.8.17
|