irbtools 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG ADDED
@@ -0,0 +1,9 @@
1
+ 0.7.1
2
+ * fixed Rails 3 bug
3
+ * added boson gem (command repository)
4
+ * remember history when resetting or switching ruby version
5
+
6
+ 0.7.0
7
+ * initial release
8
+
9
+ J-_-L
data/README.rdoc CHANGED
@@ -7,7 +7,8 @@ This is a meta gem which installs some useful irb gems and configures your irb.
7
7
  gem install irbtools
8
8
  gem install irb_rocket --source http://merbi.st
9
9
 
10
- * On Linux, you also need the +xclip+ program (apt-get install xclip).
10
+ * On Linux, you also need the +xclip+ program: sudo <tt>apt-get install xclip</tt>
11
+ * The <tt>irb_rocket</tt> gem might require <tt>libncurses-dev</tt>
11
12
  * On MacOS, you need growl, if you want to use the +g+ gem.
12
13
 
13
14
  == Usage
@@ -17,7 +18,7 @@ To use it, put the following in your <tt>~/.irbrc</tt> file (this file is loaded
17
18
  require 'rubygems' # only needed in 1.8
18
19
  require 'irbtools'
19
20
 
20
- If it does not exists, just create a new one.
21
+ If it does not exist, just create a new one.
21
22
 
22
23
  It's possible to modify, which libraries get loaded:
23
24
 
@@ -44,6 +45,7 @@ See http://rbjl.net/40-irbtools-release-the-power-of-irb or read the commented s
44
45
  * guessmethod[http://guessmethod.rubyforge.org/] automatically corrects typos (method_missing hook)
45
46
  * interactive_editor[http://github.com/jberkel/interactive_editor] lets you open vim, hack something, and it gets loaded into the current session
46
47
  * coderay[http://coderay.rubychan.de/] some nice colorful display ;)
48
+ * boson[http://tagaholic.me/boson/] IRB commands repository (which also works for the shell!)
47
49
  * irb_rocket[http://merbi.st/plugins/22] put result as comment instead of a new line!
48
50
 
49
51
  == Bugs / TODO
data/Rakefile CHANGED
@@ -21,6 +21,7 @@ begin
21
21
  # gem.add_dependency 'drx'
22
22
  gem.add_dependency 'interactive_editor'
23
23
  gem.add_dependency 'coderay'
24
+ gem.add_dependency 'boson'
24
25
  # gem.add_dependency 'irb_rocket'
25
26
  end
26
27
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.1
1
+ 0.7.2
data/irbtools.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{irbtools}
8
- s.version = "0.7.1"
8
+ s.version = "0.7.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jan Lelis"]
12
- s.date = %q{2010-10-06}
12
+ s.date = %q{2010-10-07}
13
13
  s.description = %q{irbtools is a meta gem which installs some useful irb gems and configures your irb. Simply put a require 'irbtools' in the .irbrc file in your home directory.}
14
14
  s.email = %q{mail@janlelis.de}
15
15
  s.extra_rdoc_files = [
@@ -19,23 +19,11 @@ Gem::Specification.new do |s|
19
19
  s.files = [
20
20
  ".document",
21
21
  ".gitignore",
22
+ "CHANGELOG",
22
23
  "LICENSE",
23
24
  "README.rdoc",
24
25
  "Rakefile",
25
26
  "VERSION",
26
- "doc/classes/IRB.html",
27
- "doc/classes/IRB/CaptureIO.html",
28
- "doc/classes/Irbtools.html",
29
- "doc/classes/Kernel.html",
30
- "doc/created.rid",
31
- "doc/files/README_rdoc.html",
32
- "doc/files/lib/irbtools/configure_rb.html",
33
- "doc/files/lib/irbtools_rb.html",
34
- "doc/fr_class_index.html",
35
- "doc/fr_file_index.html",
36
- "doc/fr_method_index.html",
37
- "doc/index.html",
38
- "doc/rdoc-style.css",
39
27
  "irbtools.gemspec",
40
28
  "lib/irbtools.rb",
41
29
  "lib/irbtools/configure.rb",
@@ -63,6 +51,7 @@ Gem::Specification.new do |s|
63
51
  s.add_runtime_dependency(%q<guessmethod>, [">= 0"])
64
52
  s.add_runtime_dependency(%q<interactive_editor>, [">= 0"])
65
53
  s.add_runtime_dependency(%q<coderay>, [">= 0"])
54
+ s.add_runtime_dependency(%q<boson>, [">= 0"])
66
55
  else
67
56
  s.add_dependency(%q<wirble>, [">= 0"])
68
57
  s.add_dependency(%q<hirb>, [">= 0"])
@@ -73,6 +62,7 @@ Gem::Specification.new do |s|
73
62
  s.add_dependency(%q<guessmethod>, [">= 0"])
74
63
  s.add_dependency(%q<interactive_editor>, [">= 0"])
75
64
  s.add_dependency(%q<coderay>, [">= 0"])
65
+ s.add_dependency(%q<boson>, [">= 0"])
76
66
  end
77
67
  else
78
68
  s.add_dependency(%q<wirble>, [">= 0"])
@@ -84,6 +74,7 @@ Gem::Specification.new do |s|
84
74
  s.add_dependency(%q<guessmethod>, [">= 0"])
85
75
  s.add_dependency(%q<interactive_editor>, [">= 0"])
86
76
  s.add_dependency(%q<coderay>, [">= 0"])
77
+ s.add_dependency(%q<boson>, [">= 0"])
87
78
  end
88
79
  end
89
80
 
@@ -26,6 +26,7 @@ else
26
26
  # 'drx', # nice tk object inspector (.see) [not included because it fails to install out of the box on lots of systems]
27
27
  'interactive_editor', # lets you open vim (or your favourite editor), hack something, save it, and it's loaded in the current irb session
28
28
  'coderay', # some nice colorful display ;)
29
+ 'boson', # IRB commands repository (which also works for the shell!)
29
30
  'irb_rocket', # put result as comment instead of a new line!
30
31
  # 'zucker/all' # see rubyzucker.info
31
32
  ]
@@ -52,6 +53,7 @@ else
52
53
  require File.expand_path( '../irbtools.rb', File.dirname(__FILE__) )
53
54
  end
54
55
  end
56
+ VERSION = File.read File.expand_path( '../../VERSION', File.dirname(__FILE__) )
55
57
  end#module
56
58
  end
57
59
 
data/lib/irbtools.rb CHANGED
@@ -21,7 +21,13 @@ Irbtools.libs.each{ |lib|
21
21
  Hirb::View.enable
22
22
 
23
23
  when 'fileutils'
24
- include FileUtils::Verbose
24
+ include FileUtils::Verbose
25
+
26
+ # patch cd so that it also shows the current directory
27
+ def cd(path = '/', *args)
28
+ FileUtils::Verbose.cd path, *args
29
+ ls
30
+ end
25
31
 
26
32
  when 'clipboard'
27
33
  # copies the clipboard
@@ -60,6 +66,10 @@ Irbtools.libs.each{ |lib|
60
66
  puts CodeRay.scan( File.read(path), :ruby ).term
61
67
  end
62
68
 
69
+ when 'boson'
70
+ undef :install if respond_to?( :install, true )
71
+ Boson.start :verbose => false
72
+
63
73
  end
64
74
 
65
75
  rescue LoadError => err
@@ -81,12 +91,6 @@ def ls(path='.')
81
91
  end
82
92
  alias dir ls
83
93
 
84
- # patch cd so that it also shows the current directory
85
- def cd(path = '/', *args)
86
- FileUtils::Verbose.cd path, *args
87
- ls
88
- end
89
-
90
94
  # read file contents (also see ray for ruby source files ;) )
91
95
  def cat(path)
92
96
  File.read path
@@ -103,8 +107,9 @@ def session_history(number_of_lines = context.instance_variable_get(:@line_no) )
103
107
  end
104
108
 
105
109
  # restart irb
106
- def reset! # restart irb
107
- exec$0
110
+ def reset!
111
+ at_exit { exec$0 } # remember history
112
+ exit
108
113
  end
109
114
 
110
115
  def ruby_version(which = nil)
@@ -129,7 +134,8 @@ def ruby_version(which = nil)
129
134
  if $1
130
135
  ruby_name = File.split( $1 )[-1].tr(' ', '-')
131
136
  irbname = $0 + '-' + ruby_name# + '@global'
132
- exec irbname
137
+ at_exit { exec irbname } # remember history
138
+ exit
133
139
  else
134
140
  puts "Sorry, that Ruby version could not be found."
135
141
  end
@@ -154,7 +160,7 @@ IRB.conf[:EVAL_HISTORY] = 42424242424242424242 # creates the special __ variable
154
160
  IRB.conf[:SAVE_HISTORY] = 2000 # how many lines will go to ~/.irb_history
155
161
 
156
162
  # prompt
157
- IRB.conf[:PROMPT].merge!({:IRBTOOLS => {
163
+ (IRB.conf[:PROMPT] ||= {} ).merge!( {:IRBTOOLS => {
158
164
  :PROMPT_I => ">> ", # normal
159
165
  :PROMPT_N => "| ", # indenting
160
166
  :PROMPT_C => "(>>) ", # continuing a statement
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: irbtools
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 7
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 7
9
- - 1
10
- version: 0.7.1
9
+ - 2
10
+ version: 0.7.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jan Lelis
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-06 00:00:00 +02:00
18
+ date: 2010-10-07 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -144,6 +144,20 @@ dependencies:
144
144
  version: "0"
145
145
  type: :runtime
146
146
  version_requirements: *id009
147
+ - !ruby/object:Gem::Dependency
148
+ name: boson
149
+ prerelease: false
150
+ requirement: &id010 !ruby/object:Gem::Requirement
151
+ none: false
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ hash: 3
156
+ segments:
157
+ - 0
158
+ version: "0"
159
+ type: :runtime
160
+ version_requirements: *id010
147
161
  description: irbtools is a meta gem which installs some useful irb gems and configures your irb. Simply put a require 'irbtools' in the .irbrc file in your home directory.
148
162
  email: mail@janlelis.de
149
163
  executables: []
@@ -156,23 +170,11 @@ extra_rdoc_files:
156
170
  files:
157
171
  - .document
158
172
  - .gitignore
173
+ - CHANGELOG
159
174
  - LICENSE
160
175
  - README.rdoc
161
176
  - Rakefile
162
177
  - VERSION
163
- - doc/classes/IRB.html
164
- - doc/classes/IRB/CaptureIO.html
165
- - doc/classes/Irbtools.html
166
- - doc/classes/Kernel.html
167
- - doc/created.rid
168
- - doc/files/README_rdoc.html
169
- - doc/files/lib/irbtools/configure_rb.html
170
- - doc/files/lib/irbtools_rb.html
171
- - doc/fr_class_index.html
172
- - doc/fr_file_index.html
173
- - doc/fr_method_index.html
174
- - doc/index.html
175
- - doc/rdoc-style.css
176
178
  - irbtools.gemspec
177
179
  - lib/irbtools.rb
178
180
  - lib/irbtools/configure.rb
@@ -1,189 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: IRB::CaptureIO</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">IRB::CaptureIO</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/irbtools_rb.html">
59
- lib/irbtools.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- Object
69
- </td>
70
- </tr>
71
- </table>
72
- </div>
73
- <!-- banner header -->
74
-
75
- <div id="bodyContent">
76
-
77
-
78
-
79
- <div id="contextContent">
80
-
81
-
82
-
83
- </div>
84
-
85
- <div id="method-list">
86
- <h3 class="section-bar">Methods</h3>
87
-
88
- <div class="name-list">
89
- <a href="#M000020">capture</a>&nbsp;&nbsp;
90
- <a href="#M000019">streams</a>&nbsp;&nbsp;
91
- </div>
92
- </div>
93
-
94
- </div>
95
-
96
-
97
- <!-- if includes -->
98
-
99
- <div id="section">
100
-
101
-
102
-
103
- <div id="aliases-list">
104
- <h3 class="section-bar">External Aliases</h3>
105
-
106
- <div class="name-list">
107
- <table summary="aliases">
108
- <tr class="top-aligned-row context-row">
109
- <td class="context-item-name">capture</td>
110
- <td>-&gt;</td>
111
- <td class="context-item-value">original_capture</td>
112
- </tr>
113
- </table>
114
- </div>
115
- </div>
116
-
117
-
118
-
119
-
120
-
121
- <!-- if method_list -->
122
- <div id="methods">
123
- <h3 class="section-bar">Public Class methods</h3>
124
-
125
- <div id="method-M000019" class="method-detail">
126
- <a name="M000019"></a>
127
-
128
- <div class="method-heading">
129
- <a href="#M000019" class="method-signature">
130
- <span class="method-name">streams</span><span class="method-args">()</span>
131
- </a>
132
- </div>
133
-
134
- <div class="method-description">
135
- <p><a class="source-toggle" href="#"
136
- onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
137
- <div class="method-source-code" id="M000019-source">
138
- <pre>
139
- <span class="ruby-comment cmt"># File lib/irbtools.rb, line 179</span>
140
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">streams</span>
141
- {
142
- <span class="ruby-identifier">:stdout</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@@current_capture</span>.<span class="ruby-identifier">instance_variable_get</span>( <span class="ruby-identifier">:@out</span> ),
143
- <span class="ruby-identifier">:stderr</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@@current_capture</span>.<span class="ruby-identifier">instance_variable_get</span>( <span class="ruby-identifier">:@err</span> ),
144
- }
145
- <span class="ruby-keyword kw">end</span>
146
- </pre>
147
- </div>
148
- </div>
149
- </div>
150
-
151
- <h3 class="section-bar">Public Instance methods</h3>
152
-
153
- <div id="method-M000020" class="method-detail">
154
- <a name="M000020"></a>
155
-
156
- <div class="method-heading">
157
- <a href="#M000020" class="method-signature">
158
- <span class="method-name">capture</span><span class="method-args">(&amp;block)</span>
159
- </a>
160
- </div>
161
-
162
- <div class="method-description">
163
- <p><a class="source-toggle" href="#"
164
- onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
165
- <div class="method-source-code" id="M000020-source">
166
- <pre>
167
- <span class="ruby-comment cmt"># File lib/irbtools.rb, line 187</span>
168
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">capture</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
169
- <span class="ruby-ivar">@@current_capture</span> = <span class="ruby-keyword kw">self</span>
170
- <span class="ruby-identifier">original_capture</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>
171
- <span class="ruby-keyword kw">end</span>
172
- </pre>
173
- </div>
174
- </div>
175
- </div>
176
-
177
-
178
- </div>
179
-
180
-
181
- </div>
182
-
183
-
184
- <div id="validator-badges">
185
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
186
- </div>
187
-
188
- </body>
189
- </html>
data/doc/classes/IRB.html DELETED
@@ -1,111 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: IRB</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">IRB</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/lib/irbtools_rb.html">
59
- lib/irbtools.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- </table>
66
- </div>
67
- <!-- banner header -->
68
-
69
- <div id="bodyContent">
70
-
71
-
72
-
73
- <div id="contextContent">
74
-
75
-
76
-
77
- </div>
78
-
79
-
80
- </div>
81
-
82
-
83
- <!-- if includes -->
84
-
85
- <div id="section">
86
-
87
- <div id="class-list">
88
- <h3 class="section-bar">Classes and Modules</h3>
89
-
90
- Class <a href="IRB/CaptureIO.html" class="link">IRB::CaptureIO</a><br />
91
-
92
- </div>
93
-
94
-
95
-
96
-
97
-
98
-
99
-
100
- <!-- if method_list -->
101
-
102
-
103
- </div>
104
-
105
-
106
- <div id="validator-badges">
107
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
108
- </div>
109
-
110
- </body>
111
- </html>