bond 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemspec +6 -3
- data/.travis.yml +8 -0
- data/CHANGELOG.rdoc +5 -0
- data/README.rdoc +8 -1
- data/Rakefile +14 -2
- data/lib/bond/mission.rb +1 -1
- data/lib/bond/version.rb +1 -1
- data/test/completions_test.rb +2 -2
- metadata +88 -64
data/.gemspec
CHANGED
@@ -5,21 +5,24 @@ require File.dirname(__FILE__) + "/lib/bond/version"
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "bond"
|
7
7
|
s.version = Bond::VERSION
|
8
|
+
s.platform = ENV['GEM_PLATFORM'] if ENV['GEM_PLATFORM']
|
8
9
|
s.authors = ["Gabriel Horner"]
|
9
10
|
s.email = "gabriel.horner@gmail.com"
|
10
11
|
s.homepage = "http://tagaholic.me/bond/"
|
11
12
|
s.summary = "Mission: Easy custom autocompletion for arguments, methods and beyond. Accomplished for irb and any other readline-like console environments."
|
12
13
|
s.description = "Bond is on a mission to improve autocompletion in ruby, especially for irb/ripl. Aside from doing everything irb's can do and fixing its quirks, Bond can autocomplete argument(s) to methods, uniquely completing per module, per method and per argument. Bond brings ruby autocompletion closer to bash/zsh as it provides a configuration system and a DSL for creating custom completions and completion rules. With this configuration system, users can customize their autocompletions and share it with others. Bond can also load completions that ship with gems. Bond is able to offer more than irb's completion since it uses the full line of input when completing as opposed to irb's last-word approach."
|
13
14
|
s.required_rubygems_version = ">= 1.3.6"
|
14
|
-
s.rubyforge_project = 'tagaholic'
|
15
15
|
s.has_rdoc = 'yard'
|
16
16
|
s.rdoc_options = ['--title', "Bond #{Bond::VERSION} Documentation"]
|
17
17
|
s.add_development_dependency 'bacon', '>= 1.1.0'
|
18
18
|
s.add_development_dependency 'mocha', '>= 0.9.8'
|
19
19
|
s.add_development_dependency 'mocha-on-bacon'
|
20
20
|
s.add_development_dependency 'bacon-bits'
|
21
|
-
s.files = Dir.glob(%w[{lib,test}/**/*.rb bin/* [A-Z]*.{txt,rdoc}
|
21
|
+
s.files = Dir.glob(%w[{lib,test}/**/*.rb bin/* [A-Z]*.{txt,rdoc} **/deps.rip]) + %w{Rakefile .gemspec .travis.yml}
|
22
|
+
if ENV['GEM_PLATFORM'] != 'java'
|
23
|
+
s.files += Dir.glob("ext/**/*.{rb,c}")
|
24
|
+
s.extensions = ["ext/readline_line_buffer/extconf.rb"]
|
25
|
+
end
|
22
26
|
s.extra_rdoc_files = ["README.rdoc", "LICENSE.txt"]
|
23
|
-
s.extensions = ["ext/readline_line_buffer/extconf.rb"]
|
24
27
|
s.license = 'MIT'
|
25
28
|
end
|
data/.travis.yml
ADDED
data/CHANGELOG.rdoc
CHANGED
data/README.rdoc
CHANGED
@@ -27,7 +27,7 @@ To use bond without readline support (and presumably use your own readline plugi
|
|
27
27
|
|
28
28
|
== Setup
|
29
29
|
|
30
|
-
If you're using {ripl}[
|
30
|
+
If you're using {ripl}[https://github.com/cldwalker/ripl] instead of irb, bond is already setup.
|
31
31
|
|
32
32
|
To start off, replace irb's completion (require 'irb/completion') with Bond's enhanced version in your irbrc:
|
33
33
|
|
@@ -222,6 +222,13 @@ has good instructions for reinstalling ruby with the official Readline.
|
|
222
222
|
* pd for compatibility with emacs' inf-ruby mode.
|
223
223
|
* timcharper for improving extconf.rb.
|
224
224
|
* headius for jruby support
|
225
|
+
* tobias for a java version of the gem
|
226
|
+
|
227
|
+
== Bugs/Issues
|
228
|
+
Please report them {on github}[http://github.com/cldwalker/bond/issues].
|
229
|
+
|
230
|
+
== Contributing
|
231
|
+
{See here}[http://tagaholic.me/contributing.html]
|
225
232
|
|
226
233
|
== Links
|
227
234
|
* http://tagaholic.me/2010/05/07/screencast-of-argument-autocompletion-for-methods-in-irb.html
|
data/Rakefile
CHANGED
@@ -5,16 +5,28 @@ def gemspec
|
|
5
5
|
@gemspec ||= eval(File.read('.gemspec'), binding, '.gemspec')
|
6
6
|
end
|
7
7
|
|
8
|
+
def gem_file
|
9
|
+
"#{gemspec.name}-#{gemspec.version}#{ENV['GEM_PLATFORM'] == 'java' ? '-java' : ''}.gem"
|
10
|
+
end
|
11
|
+
|
8
12
|
desc "Build the gem"
|
9
13
|
task :gem=>:gemspec do
|
10
14
|
sh "gem build .gemspec"
|
11
15
|
FileUtils.mkdir_p 'pkg'
|
12
|
-
FileUtils.mv
|
16
|
+
FileUtils.mv gem_file, 'pkg'
|
17
|
+
end
|
18
|
+
|
19
|
+
desc "Build gems for the default and java platforms"
|
20
|
+
task :all_gems => :gem do
|
21
|
+
ENV['GEM_PLATFORM'] = 'java'
|
22
|
+
@gemspec = nil
|
23
|
+
Rake::Task["gem"].reenable
|
24
|
+
Rake::Task["gem"].invoke
|
13
25
|
end
|
14
26
|
|
15
27
|
desc "Install the gem locally"
|
16
28
|
task :install => :gem do
|
17
|
-
sh %{gem install pkg/#{
|
29
|
+
sh %{gem install pkg/#{gem_file}}
|
18
30
|
end
|
19
31
|
|
20
32
|
desc "Generate the gemspec"
|
data/lib/bond/mission.rb
CHANGED
@@ -97,7 +97,7 @@ module Bond
|
|
97
97
|
rescue StandardError, SyntaxError
|
98
98
|
message = $!.is_a?(NoMethodError) && !@action.respond_to?(:call) &&
|
99
99
|
!Rc.respond_to?(@action) ? "Completion action '#{@action}' doesn't exist." :
|
100
|
-
"Failed during completion action with '#{$!.message}'."
|
100
|
+
"Failed during completion action '#{name}' with '#{$!.message}'."
|
101
101
|
raise FailedMissionError.new(self), message
|
102
102
|
end
|
103
103
|
|
data/lib/bond/version.rb
CHANGED
data/test/completions_test.rb
CHANGED
@@ -31,7 +31,7 @@ describe "completions for" do
|
|
31
31
|
|
32
32
|
describe "Kernel" do
|
33
33
|
it "#raise" do
|
34
|
-
tab("raise Errno::ETIME").should == %w{Errno::
|
34
|
+
tab("raise Errno::ETIME").sort.should == %w{Errno::ETIME Errno::ETIMEDOUT}
|
35
35
|
end
|
36
36
|
|
37
37
|
it "#require" do
|
@@ -44,7 +44,7 @@ describe "completions for" do
|
|
44
44
|
describe "Object" do
|
45
45
|
it "#instance_of?" do
|
46
46
|
expectations = ['Hash']
|
47
|
-
expectations = ["Hash", "Hash::"] if
|
47
|
+
expectations = ["Hash", "Hash::"] if RbConfig::CONFIG["RUBY_SO_NAME"].to_s[/rubinius/i]
|
48
48
|
tab("[].instance_of? Has").should == expectations
|
49
49
|
end
|
50
50
|
|
metadata
CHANGED
@@ -1,72 +1,97 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: bond
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.2
|
4
5
|
prerelease:
|
5
|
-
version: 0.4.1
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Gabriel Horner
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-05-04 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
17
15
|
name: bacon
|
18
|
-
|
19
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
20
17
|
none: false
|
21
|
-
requirements:
|
22
|
-
- -
|
23
|
-
- !ruby/object:Gem::Version
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
24
21
|
version: 1.1.0
|
25
22
|
type: :development
|
26
|
-
version_requirements: *id001
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: mocha
|
29
23
|
prerelease: false
|
30
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.1.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: mocha
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
31
33
|
none: false
|
32
|
-
requirements:
|
33
|
-
- -
|
34
|
-
- !ruby/object:Gem::Version
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
35
37
|
version: 0.9.8
|
36
38
|
type: :development
|
37
|
-
version_requirements: *id002
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: mocha-on-bacon
|
40
39
|
prerelease: false
|
41
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.9.8
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: mocha-on-bacon
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
42
49
|
none: false
|
43
|
-
requirements:
|
44
|
-
- -
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version:
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
47
54
|
type: :development
|
48
|
-
version_requirements: *id003
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: bacon-bits
|
51
55
|
prerelease: false
|
52
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: bacon-bits
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
53
65
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version:
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
58
70
|
type: :development
|
59
|
-
|
60
|
-
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
description: Bond is on a mission to improve autocompletion in ruby, especially for
|
79
|
+
irb/ripl. Aside from doing everything irb's can do and fixing its quirks, Bond can
|
80
|
+
autocomplete argument(s) to methods, uniquely completing per module, per method
|
81
|
+
and per argument. Bond brings ruby autocompletion closer to bash/zsh as it provides
|
82
|
+
a configuration system and a DSL for creating custom completions and completion
|
83
|
+
rules. With this configuration system, users can customize their autocompletions
|
84
|
+
and share it with others. Bond can also load completions that ship with gems. Bond
|
85
|
+
is able to offer more than irb's completion since it uses the full line of input
|
86
|
+
when completing as opposed to irb's last-word approach.
|
61
87
|
email: gabriel.horner@gmail.com
|
62
88
|
executables: []
|
63
|
-
|
64
|
-
extensions:
|
89
|
+
extensions:
|
65
90
|
- ext/readline_line_buffer/extconf.rb
|
66
|
-
extra_rdoc_files:
|
91
|
+
extra_rdoc_files:
|
67
92
|
- README.rdoc
|
68
93
|
- LICENSE.txt
|
69
|
-
files:
|
94
|
+
files:
|
70
95
|
- lib/bond/agent.rb
|
71
96
|
- lib/bond/completion.rb
|
72
97
|
- lib/bond/completions/activerecord.rb
|
@@ -108,39 +133,38 @@ files:
|
|
108
133
|
- LICENSE.txt
|
109
134
|
- CHANGELOG.rdoc
|
110
135
|
- README.rdoc
|
111
|
-
- ext/readline_line_buffer/extconf.rb
|
112
|
-
- ext/readline_line_buffer/readline_line_buffer.c
|
113
136
|
- test/deps.rip
|
114
137
|
- Rakefile
|
115
138
|
- .gemspec
|
116
|
-
|
139
|
+
- .travis.yml
|
140
|
+
- ext/readline_line_buffer/extconf.rb
|
141
|
+
- ext/readline_line_buffer/readline_line_buffer.c
|
117
142
|
homepage: http://tagaholic.me/bond/
|
118
|
-
licenses:
|
143
|
+
licenses:
|
119
144
|
- MIT
|
120
145
|
post_install_message:
|
121
|
-
rdoc_options:
|
146
|
+
rdoc_options:
|
122
147
|
- --title
|
123
|
-
- Bond 0.4.
|
124
|
-
require_paths:
|
148
|
+
- Bond 0.4.2 Documentation
|
149
|
+
require_paths:
|
125
150
|
- lib
|
126
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
151
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
127
152
|
none: false
|
128
|
-
requirements:
|
129
|
-
- -
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version:
|
132
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
|
+
requirements:
|
154
|
+
- - ! '>='
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: '0'
|
157
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
158
|
none: false
|
134
|
-
requirements:
|
135
|
-
- -
|
136
|
-
- !ruby/object:Gem::Version
|
159
|
+
requirements:
|
160
|
+
- - ! '>='
|
161
|
+
- !ruby/object:Gem::Version
|
137
162
|
version: 1.3.6
|
138
163
|
requirements: []
|
139
|
-
|
140
|
-
|
141
|
-
rubygems_version: 1.6.1
|
164
|
+
rubyforge_project:
|
165
|
+
rubygems_version: 1.8.24
|
142
166
|
signing_key:
|
143
167
|
specification_version: 3
|
144
|
-
summary:
|
168
|
+
summary: ! 'Mission: Easy custom autocompletion for arguments, methods and beyond.
|
169
|
+
Accomplished for irb and any other readline-like console environments.'
|
145
170
|
test_files: []
|
146
|
-
|