irbtools 2.0.1 → 2.1.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41e41d44165a1f5138c75024b3f526ea8fb574b7
4
- data.tar.gz: 09d8581b7f2a2e4017ec98ef7eac5d06cafc1245
3
+ metadata.gz: c5bc380cf09c6c920ac7cfe7edfc52db42f8120f
4
+ data.tar.gz: 062cf759f72ad49e33cca40f30edf39f83e91ba2
5
5
  SHA512:
6
- metadata.gz: 443b7235b85c1610675efa4bcb04693c1648fb97a3dd6d95119caf24c242792af62c605368eb8cdf6eabbcf3e1513670138d2021949d1a74f75f90979b3493c4
7
- data.tar.gz: 00470adffec80d3c68dbfdc93a4b7439199cf6da71513c80a7310aa3078c8dca7a6cf8ca9e89ab95421fa7f653664ee6f36eb4728c4cf099c6271030332fc039
6
+ metadata.gz: fb7d41d0a440940ce1a27b8c216583410ebf393eb869bdf07a8dbacb476b9018fa9426d2060e0304ecb1755a1861cd51614df748935f3db923b7c9ff9c02efd7
7
+ data.tar.gz: ad07d5e41426019cfa4cb4600ed96245e4e0c55dd9d4a1bbf8b7ed472d588a4a467e986b8d391c094916dead557a48d9ef55e6abdb98e2030e8b815b6aac83e4
@@ -1,3 +1,12 @@
1
+ 2.1.0
2
+ * Improve Rails compatibility
3
+ * Do not load instance gem in the context of Rails
4
+ * Make sure to actually require "irb" before using it
5
+ * Use terrible hack to load Wirb in context of Rails
6
+ * Relax paint dependency (allows usage of paint >= 2.0)
7
+ * Require new versions of fancy_irb, clipboard, os
8
+ * Set abort_on_exception to true for late threads (early threads do this implicitly via join)
9
+
1
10
  2.0.1
2
11
  * Remove g gem
3
12
 
data/README.md CHANGED
@@ -50,7 +50,7 @@ and edit your Gemfile to
50
50
 
51
51
  * Colored output:
52
52
  [wirb](https://github.com/janlelis/wirb/)
53
- [fanycy_irb](https://github.com/janlelis/fancy_irb)
53
+ [fancy_irb](https://github.com/janlelis/fancy_irb)
54
54
  * Custom views for specific objects:
55
55
  [hirb](http://tagaholic.me/2009/03/13/hirb-irb-on-the-good-stuff.html)
56
56
  * **(irbtools-more)** Correction suggestions for misspelled method/constant names:
@@ -78,7 +78,7 @@ and edit your Gemfile to
78
78
  * Access to *ri* docs:
79
79
  [ori](https://github.com/dadooda/ori)
80
80
  * Manipulate instance variables with ease:
81
- [instance](https://github.com/rubyworks/instance/)
81
+ [instance](https://github.com/rubyworks/instance/) (not loaded in Rails context)
82
82
  * Platform information:
83
83
  [ruby_version](https://github.com/janlelis/ruby_version)
84
84
  [ruby_engine](https://github.com/janlelis/ruby_engine)
@@ -129,7 +129,7 @@ Method | Arguments | Description
129
129
  `session_history` | number_of_lines = nil | Return a string of all commands issued in the current session.
130
130
  `version` | | Show the Ruby version.
131
131
  `wp` | inspect_string | Syntax-highlight a Ruby object.
132
- `Object#instance` | | Proxy object to read and manipulate instance variables / run eval.
132
+ `Object#instance` | | Proxy object to read and manipulate instance variables / run eval (not loaded in Rails context).
133
133
  `Object#lp` | | **(irbtools-more)** Supercharged method introspection in IRB.
134
134
  `Object#mlp` / `Object#method_lookup_path` | | Traverse an object's method lookup path to find all places where a method may be defined.
135
135
  `Object#ri` | *args | Show ri documentation for this object or method.
@@ -40,14 +40,14 @@ Gem::Specification.new do |s|
40
40
 
41
41
  # core functionality
42
42
  s.add_dependency %q<every_day_irb>, "~> 2.0"
43
- s.add_dependency %q<fancy_irb>, "~> 1.0"
43
+ s.add_dependency %q<fancy_irb>, "~> 1.1"
44
44
  s.add_dependency %q<wirb>, "~> 2.0"
45
45
  s.add_dependency %q<hirb>, "~> 0.7", ">= 0.7.3"
46
46
  s.add_dependency %q<binding.repl>, "~> 3.0"
47
47
 
48
48
  # utils
49
- s.add_dependency %q<paint>, ">= 0.9", "< 2.0"
50
- s.add_dependency %q<clipboard>, "~> 1.0", ">= 1.0.6"
49
+ s.add_dependency %q<paint>, ">= 0.9", "< 3.0"
50
+ s.add_dependency %q<clipboard>, "~> 1.1"
51
51
  s.add_dependency %q<interactive_editor>, "~> 0.0", ">= 0.0.10"
52
52
  s.add_dependency %q<coderay>, "~> 1.1"
53
53
  s.add_dependency %q<debugging>, "~> 1.1"
@@ -60,6 +60,6 @@ Gem::Specification.new do |s|
60
60
  s.add_dependency %q<ruby_version>, "~> 1.0"
61
61
  s.add_dependency %q<ruby_engine>, "~> 1.0"
62
62
  s.add_dependency %q<ruby_info>, "~> 1.0"
63
- s.add_dependency %q<os>, "~> 0.9"
63
+ s.add_dependency %q<os>, "~> 1.0"
64
64
  s.add_dependency %q<instance>, "~> 0.2"
65
65
  end
@@ -1,5 +1,10 @@
1
1
  require_relative 'irbtools/configure'
2
2
 
3
+ # # # # #
4
+ # Make sure we load IRB if we are not in RIPL
5
+
6
+ require 'irb' unless Irbtools.ripl?
7
+
3
8
  # # # # #
4
9
  # Load irbtools extension packages
5
10
  Irbtools.load_packages
@@ -54,9 +59,10 @@ Irbtools.load_libraries(Irbtools.libraries[:late])
54
59
  # # # # #
55
60
  # Load: late_threads
56
61
  Irbtools.libraries[:late_thread].each{ |_,libs|
57
- Thread.new do
62
+ t = Thread.new do
58
63
  Irbtools.load_libraries(libs)
59
64
  end
65
+ t.abort_on_exception = true
60
66
  }
61
67
 
62
68
  # # # # #
@@ -18,7 +18,19 @@ Irbtools.add_library 'interactive_editor', thread: :stdlib
18
18
  Irbtools.add_library 'paint/pa', thread: :paint
19
19
 
20
20
  Irbtools.add_library 'wirb/wp', thread: :paint do
21
- Wirb.start
21
+ if defined?(Rails)
22
+ Class.new Rails::Railtie do
23
+ console {
24
+ # This is terrible... anyone has a better idea?
25
+ Thread.new do
26
+ sleep 0.2
27
+ Wirb.start unless Wirb.running?
28
+ end
29
+ }
30
+ end
31
+ else
32
+ Wirb.start
33
+ end
22
34
  end
23
35
 
24
36
  unless Irbtools.ripl?
@@ -39,7 +51,9 @@ Irbtools.add_library 'debugging/howtocall', thread: :paint
39
51
 
40
52
  require_relative 'hirb'
41
53
 
42
- Irbtools.add_library 'instance', thread: 30
54
+ unless defined?(Rails)
55
+ Irbtools.add_library 'instance', thread: 30
56
+ end
43
57
 
44
58
  Irbtools.add_library 'ori', thread: 50 do
45
59
  class Object
@@ -1,3 +1,3 @@
1
1
  module Irbtools
2
- VERSION = "2.0.1".freeze
2
+ VERSION = "2.1.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: irbtools
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Lelis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-15 00:00:00.000000000 Z
11
+ date: 2017-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.0'
61
+ version: '1.1'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.0'
68
+ version: '1.1'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: wirb
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -123,7 +123,7 @@ dependencies:
123
123
  version: '0.9'
124
124
  - - "<"
125
125
  - !ruby/object:Gem::Version
126
- version: '2.0'
126
+ version: '3.0'
127
127
  type: :runtime
128
128
  prerelease: false
129
129
  version_requirements: !ruby/object:Gem::Requirement
@@ -133,27 +133,21 @@ dependencies:
133
133
  version: '0.9'
134
134
  - - "<"
135
135
  - !ruby/object:Gem::Version
136
- version: '2.0'
136
+ version: '3.0'
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: clipboard
139
139
  requirement: !ruby/object:Gem::Requirement
140
140
  requirements:
141
141
  - - "~>"
142
142
  - !ruby/object:Gem::Version
143
- version: '1.0'
144
- - - ">="
145
- - !ruby/object:Gem::Version
146
- version: 1.0.6
143
+ version: '1.1'
147
144
  type: :runtime
148
145
  prerelease: false
149
146
  version_requirements: !ruby/object:Gem::Requirement
150
147
  requirements:
151
148
  - - "~>"
152
149
  - !ruby/object:Gem::Version
153
- version: '1.0'
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- version: 1.0.6
150
+ version: '1.1'
157
151
  - !ruby/object:Gem::Dependency
158
152
  name: interactive_editor
159
153
  requirement: !ruby/object:Gem::Requirement
@@ -312,14 +306,14 @@ dependencies:
312
306
  requirements:
313
307
  - - "~>"
314
308
  - !ruby/object:Gem::Version
315
- version: '0.9'
309
+ version: '1.0'
316
310
  type: :runtime
317
311
  prerelease: false
318
312
  version_requirements: !ruby/object:Gem::Requirement
319
313
  requirements:
320
314
  - - "~>"
321
315
  - !ruby/object:Gem::Version
322
- version: '0.9'
316
+ version: '1.0'
323
317
  - !ruby/object:Gem::Dependency
324
318
  name: instance
325
319
  requirement: !ruby/object:Gem::Requirement
@@ -379,7 +373,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
379
373
  version: '0'
380
374
  requirements: []
381
375
  rubyforge_project:
382
- rubygems_version: 2.4.6
376
+ rubygems_version: 2.6.8
383
377
  signing_key:
384
378
  specification_version: 4
385
379
  summary: Irbtools happy IRB.