isolate 1.8.0 → 1.8.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +4 -0
- data/lib/isolate/rake.rb +4 -2
- data/lib/isolate.rb +6 -6
- data/test/test_isolate.rb +20 -0
- metadata +2 -2
data/CHANGELOG.rdoc
CHANGED
data/lib/isolate/rake.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
namespace :isolate do
|
2
2
|
desc "Generate a .gems manifest for your isolated gems."
|
3
|
-
task :dotgems do
|
3
|
+
task :dotgems, [:env] do |_, args|
|
4
|
+
env = args.env || Isolate.env
|
5
|
+
|
4
6
|
File.open ".gems", "wb" do |f|
|
5
7
|
Isolate.instance.entries.each do |entry|
|
6
|
-
next unless entry.
|
8
|
+
next unless entry.matches? env
|
7
9
|
|
8
10
|
gems = [entry.name]
|
9
11
|
gems << "--version '#{entry.requirement}'"
|
data/lib/isolate.rb
CHANGED
@@ -21,11 +21,15 @@ class Isolate
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
VERSION = "1.8.
|
24
|
+
VERSION = "1.8.1" # :nodoc:
|
25
25
|
|
26
26
|
attr_reader :entries # :nodoc:
|
27
27
|
attr_reader :path # :nodoc:
|
28
28
|
|
29
|
+
def self.env # :nodoc:
|
30
|
+
ENV["ISOLATE_ENV"] || ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development"
|
31
|
+
end
|
32
|
+
|
29
33
|
# Declare an isolated RubyGems environment, installed in +path+. The
|
30
34
|
# block given will be <tt>instance_eval</tt>ed, see Isolate#gem and
|
31
35
|
# Isolate#environment for the sort of stuff you can do.
|
@@ -81,11 +85,7 @@ class Isolate
|
|
81
85
|
def activate environment = nil
|
82
86
|
enable unless enabled?
|
83
87
|
|
84
|
-
env = (environment
|
85
|
-
ENV["ISOLATE_ENV"] ||
|
86
|
-
ENV["RAILS_ENV"] ||
|
87
|
-
ENV["RACK_ENV"] ||
|
88
|
-
"development").to_s
|
88
|
+
env = (environment || self.class.env).to_s
|
89
89
|
|
90
90
|
install env if install?
|
91
91
|
|
data/test/test_isolate.rb
CHANGED
@@ -8,6 +8,7 @@ class TestIsolate < MiniTest::Unit::TestCase
|
|
8
8
|
|
9
9
|
def setup
|
10
10
|
@isolate = Isolate.new "tmp/gems", :install => false, :verbose => false
|
11
|
+
@env = ENV.to_hash
|
11
12
|
end
|
12
13
|
|
13
14
|
def teardown
|
@@ -16,6 +17,25 @@ class TestIsolate < MiniTest::Unit::TestCase
|
|
16
17
|
Gem::DependencyInstaller.reset_value
|
17
18
|
Gem::Uninstaller.reset_value
|
18
19
|
FileUtils.rm_rf "tmp/gems"
|
20
|
+
ENV.replace @env
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_self_env
|
24
|
+
assert_equal "development", Isolate.env
|
25
|
+
|
26
|
+
ENV["RAILS_ENV"] = "foo"
|
27
|
+
|
28
|
+
assert_equal "foo", Isolate.env
|
29
|
+
|
30
|
+
ENV["RAILS_ENV"] = nil
|
31
|
+
ENV["RACK_ENV"] = "bar"
|
32
|
+
|
33
|
+
assert_equal "bar", Isolate.env
|
34
|
+
|
35
|
+
ENV["RACK_ENV"] = nil
|
36
|
+
ENV["ISOLATE_ENV"] = "baz"
|
37
|
+
|
38
|
+
assert_equal "baz", Isolate.env
|
19
39
|
end
|
20
40
|
|
21
41
|
def test_self_gems
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: isolate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Barnette
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2010-01-
|
13
|
+
date: 2010-01-13 00:00:00 -08:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|