irbtools 0.7.1 → 0.7.2

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.
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>