rails-env-switcher 0.2 → 0.2.1

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.
@@ -1,9 +1,8 @@
1
1
  module RailsEnvSwitcher::Switcher::ActiveRecord
2
2
  def self.switch_env(old_env, env, options={})
3
- if ::ActiveRecord::Base.connected?
4
- ::ActiveRecord::Base.clear_cache! if ::ActiveRecord::Base.respond_to? :clear_cache
5
- ::ActiveRecord::Base.clear_all_connections!
6
- ::ActiveRecord::Base.establish_connection
3
+ if defined? ActiveRecord
4
+ ActiveRecord::Base.clear_active_connections!
5
+ ActiveRecord::Base.establish_connection
7
6
  end
8
7
  end
9
8
  end
@@ -1,15 +1,11 @@
1
1
  module RailsEnvSwitcher::Switcher::Rails
2
2
  def self.switch_env(old_env, env, options={})
3
- if ::Rails.env != env
4
- ENV['RAILS_ENV'] = env
5
- ::Rails.env = env
3
+ return if ::Rails.env == env
6
4
 
7
- Kernel.silence_warnings do
8
- Dir[Rails.root.join('config', 'initializers', '*.rb')].map do |file|
9
- load file
10
- end
11
- load Rails.root.join('config', 'environments', "#{env}.rb")
12
- end
5
+ ENV['RAILS_ENV'] = ::Rails.env = env
6
+ Kernel.silence_warnings do
7
+ Dir[Rails.root.join('config', 'initializers', '*.rb')].each { |file| load file }
8
+ load Rails.root.join('config', 'environments', "#{env}.rb")
13
9
  end
14
10
  end
15
11
  end
@@ -1,8 +1,8 @@
1
1
  module RailsEnvSwitcher::Switcher::Reloader
2
2
  def self.switch_env(old_env, env, options={})
3
- # delete because we don't necessarily want to reload when we go back to
4
- # the original environment
5
- if options.delete(:reload)
3
+ if options[:reload]
4
+ ActionDispatch::Reloader.cleanup!
5
+ ActionDispatch::Reloader.prepare!
6
6
  reload!(false) if respond_to?(:reload!)
7
7
  FactoryGirl.reload if defined?(FactoryGirl)
8
8
  end
@@ -1,3 +1,3 @@
1
1
  module RailsEnvSwitcher
2
- VERSION = '0.2'
2
+ VERSION = '0.2.1'
3
3
  end
@@ -11,6 +11,7 @@ module RailsEnvSwitcher
11
11
  switch_env(env, options)
12
12
  yield
13
13
  ensure
14
+ options.delete(:reload) # not reloading again once we switch back
14
15
  switch_env(old_env, options)
15
16
  end
16
17
  end
@@ -22,6 +23,9 @@ module RailsEnvSwitcher
22
23
  self.handlers.each do |handler|
23
24
  handler.switch_env(old_env, env, options)
24
25
  end
26
+ else
27
+ # Always reload if needed
28
+ Switcher::Reloader.switch_env(env, env, options)
25
29
  end
26
30
  end
27
31
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-env-switcher
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: 0.2.1
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-12-21 00:00:00.000000000 Z
12
+ date: 2013-05-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -34,14 +34,14 @@ executables: []
34
34
  extensions: []
35
35
  extra_rdoc_files: []
36
36
  files:
37
- - lib/rails-env-switcher/switcher/active_record.rb
38
37
  - lib/rails-env-switcher/switcher/copycopter_client.rb
39
- - lib/rails-env-switcher/switcher/rails.rb
40
38
  - lib/rails-env-switcher/switcher/mongoid.rb
41
39
  - lib/rails-env-switcher/switcher/bundler.rb
40
+ - lib/rails-env-switcher/switcher/active_record.rb
41
+ - lib/rails-env-switcher/switcher/rails.rb
42
42
  - lib/rails-env-switcher/switcher/reloader.rb
43
- - lib/rails-env-switcher/switcher.rb
44
43
  - lib/rails-env-switcher/pry.rb
44
+ - lib/rails-env-switcher/switcher.rb
45
45
  - lib/rails-env-switcher/version.rb
46
46
  - lib/rails-env-switcher.rb
47
47
  - README.md
@@ -65,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
65
  version: '0'
66
66
  requirements: []
67
67
  rubyforge_project:
68
- rubygems_version: 1.8.24
68
+ rubygems_version: 1.8.25
69
69
  signing_key:
70
70
  specification_version: 3
71
71
  summary: Switch from a Rails environment to another