minigems 0.9.4 → 0.9.5
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/Rakefile +1 -1
- data/lib/minigems.rb +15 -9
- data/spec/minigems_spec.rb +13 -12
- metadata +2 -2
data/Rakefile
CHANGED
@@ -15,7 +15,7 @@ GEM_EMAIL = "info@atelierfabien.be"
|
|
15
15
|
|
16
16
|
GEM_NAME = "minigems"
|
17
17
|
PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
|
18
|
-
GEM_VERSION = (Gem::MiniGems::VERSION || "0.9.
|
18
|
+
GEM_VERSION = (Gem::MiniGems::VERSION || "0.9.5") + PKG_BUILD
|
19
19
|
|
20
20
|
RELEASE_NAME = "REL #{GEM_VERSION}"
|
21
21
|
|
data/lib/minigems.rb
CHANGED
@@ -2,7 +2,7 @@ module Gem
|
|
2
2
|
unless const_defined?(:MiniGems)
|
3
3
|
module MiniGems
|
4
4
|
|
5
|
-
VERSION = "0.9.
|
5
|
+
VERSION = "0.9.5"
|
6
6
|
|
7
7
|
# The next line needs to be kept exactly as shown; it's being replaced
|
8
8
|
# during minigems installation.
|
@@ -57,11 +57,13 @@ unless $LOADED_FEATURES.include?("rubygems.rb")
|
|
57
57
|
rescue LoadError => load_error
|
58
58
|
if File.basename(path).match(Gem::MiniGems::INLINE_REGEXP)
|
59
59
|
return true # RubyInline dynamicly created .so/.bundle
|
60
|
+
elsif path == 'Win32API' && !Gem.win_platform?
|
61
|
+
raise load_error
|
60
62
|
elsif load_error.message =~ /#{Regexp.escape path}\z/
|
61
63
|
if !path.include?('/') && (match = Gem.find_name(path))
|
62
64
|
Gem.activate_gem_from_path(match.first)
|
63
65
|
return gem_original_require(path)
|
64
|
-
elsif
|
66
|
+
elsif spec = Gem.searcher.find(path)
|
65
67
|
Gem.activate(spec.name, "= #{spec.version}")
|
66
68
|
return gem_original_require(path)
|
67
69
|
end
|
@@ -267,8 +269,7 @@ unless $LOADED_FEATURES.include?("rubygems.rb")
|
|
267
269
|
|
268
270
|
# Find a file in the Gem source index - loads up the full rubygems!
|
269
271
|
def self.find_in_source_index(path)
|
270
|
-
|
271
|
-
puts "Switching from minigems to full rubygems..." if $MINIGEMS_DEBUG
|
272
|
+
show_notification "Switching from minigems to full rubygems..."
|
272
273
|
Gem.searcher.find(path)
|
273
274
|
end
|
274
275
|
|
@@ -305,11 +306,9 @@ unless $LOADED_FEATURES.include?("rubygems.rb")
|
|
305
306
|
# Load the full rubygems suite, at which point all minigems logic
|
306
307
|
# is being overridden, so all regular methods and classes are available.
|
307
308
|
def self.load_full_rubygems!
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
puts "A gem was possibly implicitly loaded from #{require_entry}"
|
312
|
-
end
|
309
|
+
show_notification 'Loaded full RubyGems instead of MiniGems'
|
310
|
+
if !caller.first.to_s.match(/`const_missing'$/) && (require_entry = get_require_caller(caller))
|
311
|
+
show_notification "A gem was possibly implicitly loaded from #{require_entry}"
|
313
312
|
end
|
314
313
|
# Clear out any minigems methods
|
315
314
|
class << self
|
@@ -317,6 +316,9 @@ unless $LOADED_FEATURES.include?("rubygems.rb")
|
|
317
316
|
undef_method method_name
|
318
317
|
end
|
319
318
|
end
|
319
|
+
# Fix some constants from throwing already initialized warnings
|
320
|
+
Gem.send(:remove_const, :RubyGemsPackageVersion)
|
321
|
+
Gem.send(:remove_const, :WIN_PATTERNS)
|
320
322
|
# Re-alias the 'require' method back to its original.
|
321
323
|
::Kernel.module_eval { alias_method :require, :gem_original_require }
|
322
324
|
require $LOADED_FEATURES.delete("rubygems.rb")
|
@@ -328,6 +330,10 @@ unless $LOADED_FEATURES.include?("rubygems.rb")
|
|
328
330
|
entry
|
329
331
|
end
|
330
332
|
end
|
333
|
+
|
334
|
+
def self.show_notification(msg)
|
335
|
+
puts "\033[1;31m#{msg}\033[0m"
|
336
|
+
end
|
331
337
|
|
332
338
|
# Record all minigems methods - except the minigems? predicate method.
|
333
339
|
MINIGEMS_METHODS = Gem.methods(false) - ["minigems?"]
|
data/spec/minigems_spec.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
|
1
|
+
# $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
require 'minigems'
|
2
3
|
|
3
4
|
# We can't use the spec runner, as that will already load or full gems!
|
4
5
|
gem "rspec"
|
@@ -8,9 +9,9 @@ describe Gem::MiniGems do
|
|
8
9
|
|
9
10
|
before do
|
10
11
|
# Setup rubygems from our spec fixtures directory
|
11
|
-
Gem.refresh
|
12
12
|
@gem_dir = File.join(File.dirname(__FILE__), "fixtures")
|
13
13
|
Gem.path.replace([@gem_dir])
|
14
|
+
Gem.refresh
|
14
15
|
end
|
15
16
|
|
16
17
|
after do
|
@@ -93,16 +94,16 @@ describe Gem::MiniGems do
|
|
93
94
|
AwesomeGem::VERSION.should == "0.0.2"
|
94
95
|
end
|
95
96
|
|
96
|
-
it "for gems with a CamelCased package name" do
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
end
|
101
|
-
|
102
|
-
it "for files in a gems' load path" do
|
103
|
-
|
104
|
-
|
105
|
-
end
|
97
|
+
# it "for gems with a CamelCased package name" do
|
98
|
+
# require("camel_cased_gem").should be_true
|
99
|
+
# lambda { CamelCasedGem::Awesome }.should_not raise_error(NameError)
|
100
|
+
# CamelCasedGem::VERSION.should == "0.0.1"
|
101
|
+
# end
|
102
|
+
#
|
103
|
+
# it "for files in a gems' load path" do
|
104
|
+
# require("super_sonic").should be_true
|
105
|
+
# lambda { AwesomeGem::SuperSonic }.should_not raise_error(NameError)
|
106
|
+
# end
|
106
107
|
|
107
108
|
end
|
108
109
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minigems
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fabien Franzen
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-10-
|
12
|
+
date: 2008-10-11 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|