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 CHANGED
@@ -1,3 +1,7 @@
1
+ === 1.8.1 / 2010-01-13
2
+
3
+ * Allow isolate:dotgems to take an env.
4
+
1
5
  === 1.8.0 / 2010-01-05
2
6
 
3
7
  * Make build args forgive non-Array input.
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.environments.empty?
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.0" # :nodoc:
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.0
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-05 00:00:00 -08:00
13
+ date: 2010-01-13 00:00:00 -08:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency