pry-debundle 0.3 → 0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -38,17 +38,16 @@ class << Pry
38
38
  def debundle!
39
39
  loaded = false
40
40
 
41
- # Rubygems 1.8
42
- if defined?(Gem.post_reset_hooks)
41
+ if rubygems_18?
43
42
  Gem.post_reset_hooks.reject!{ |hook| hook.source_location.first =~ %r{/bundler/} }
44
43
  Gem::Specification.reset
45
- load 'rubygems/custom_require.rb'
44
+ remove_bundler_mokeypatches
46
45
  loaded = true
47
46
 
48
47
  # Rubygems 1.6 — TODO might be quite slow.
49
48
  elsif Gem.source_index && Gem.send(:class_variable_get, :@@source_index)
50
49
  Gem.source_index.refresh!
51
- load 'rubygems/custom_require.rb'
50
+ remove_bundler_mokeypatches
52
51
  loaded = true
53
52
 
54
53
  else
@@ -76,6 +75,36 @@ class << Pry
76
75
 
77
76
  new_plugins.each(&:activate!)
78
77
  end
78
+
79
+ private
80
+
81
+ def rubygems_18?
82
+ defined?(Gem.post_reset_hooks)
83
+ end
84
+
85
+ # Ugh, this stuff is quite vile.
86
+ def remove_bundler_mokeypatches
87
+ load 'rubygems/custom_require.rb'
88
+
89
+ if rubygems_18?
90
+ Kernel.module_eval do
91
+ def gem(gem_name, *requirements) # :doc:
92
+ skip_list = (ENV['GEM_SKIP'] || "").split(/:/)
93
+ raise Gem::LoadError, "skipping #{gem_name}" if skip_list.include? gem_name
94
+ spec = Gem::Dependency.new(gem_name, *requirements).to_spec
95
+ spec.activate if spec
96
+ end
97
+ end
98
+ else
99
+ Kernel.module_eval do
100
+ def gem(gem_name, *requirements) # :doc:
101
+ skip_list = (ENV['GEM_SKIP'] || "").split(/:/)
102
+ raise Gem::LoadError, "skipping #{gem_name}" if skip_list.include? gem_name
103
+ Gem.activate(gem_name, *requirements)
104
+ end
105
+ end
106
+ end
107
+ end
79
108
  end
80
109
 
81
110
  # Run just after a binding.pry, before you get dumped in the REPL.
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "pry-debundle"
3
- s.version = "0.3"
3
+ s.version = "0.4"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.author = "Conrad Irwin"
6
6
  s.email = "conrad.irwin@gmail.com"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pry-debundle
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.3'
4
+ version: '0.4'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-30 00:00:00.000000000 Z
12
+ date: 2012-08-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: pry
@@ -59,7 +59,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
59
59
  version: '0'
60
60
  requirements: []
61
61
  rubyforge_project:
62
- rubygems_version: 1.8.24
62
+ rubygems_version: 1.8.23
63
63
  signing_key:
64
64
  specification_version: 3
65
65
  summary: Allows you to use gems not in your Gemfile from Pry.