theine 0.0.12 → 0.0.13

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/theine/worker.rb +25 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 94e110b94ec52333c52badcdd27ec687539fc17a
4
- data.tar.gz: e88df57e5465d6a771944e7f435d0ff5c591edb3
3
+ metadata.gz: a725ca8fb94098b7c8a22c3a20060423f460ea2c
4
+ data.tar.gz: ad60b0331d09109a055bbed9b24a88a452d8cd30
5
5
  SHA512:
6
- metadata.gz: 0bcd5a925e9b0ce165ccd6623755a1ab6b21e48faf3ec295d53646f05746c1c98caa5756999b69cebe45921f31e5bea49108184e606df0ac259ef5fde5da14a6
7
- data.tar.gz: 1b2f3890983aee738b83c54b6f91388e724f1bc7e12a6f7678bb18b687980e78ba4cfe62cbc6555dae37dd552f3c7c6bab8602e7c373fea84b97118bbd7bf1c1
6
+ metadata.gz: 2fbd349c19047ab9b8eb27cd0f72d8d8d8092e3235d62e65f63930e2d24a77bb4b6aa15aca7d907a251d8d9ddc2e259a833faadd7af56d11d7df270d5b773568
7
+ data.tar.gz: 2c3931769b602b0e0882dcca9875d12deee91127a57659bb89fdca70d8dc4285ddc212d5a8b747a4b574081857bf7132a7e61b603053edcb31a68ca5901a8e80
data/lib/theine/worker.rb CHANGED
@@ -11,12 +11,23 @@ module Theine
11
11
  require 'rails/commands'
12
12
  },
13
13
  rake: proc {
14
- ::Rails.application.load_tasks
14
+ ::Rails.application.load_tasks if defined? ::Rails
15
+
15
16
  ARGV.each do |task|
17
+ is_test_task = task =~ /^(spec|test)$/
18
+ if is_test_task
19
+ previous_env = ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development"
20
+ change_rails_env_to("test")
21
+ end
22
+
16
23
  ::Rake::Task[task].invoke
24
+
25
+ change_rails_env_to(previous_env) if is_test_task
17
26
  end
18
27
  },
19
28
  rspec: proc {
29
+ change_rails_env_to("test")
30
+
20
31
  require 'rspec/core'
21
32
  RSpec::Core::Runner.autorun
22
33
  }
@@ -36,7 +47,7 @@ module Theine
36
47
  sleep 0.1 while !screen_attached?
37
48
 
38
49
  puts "command: #{@command_name} #{argv_to_s}"
39
- @command_proc.call
50
+ instance_exec(&@command_proc)
40
51
  ensure
41
52
  balancer.worker_done(port)
42
53
  end
@@ -73,6 +84,18 @@ module Theine
73
84
  DRb.stop_service
74
85
  end
75
86
 
87
+ def change_rails_env_to(env)
88
+ ENV['RAILS_ENV'] = env
89
+ ENV['RACK_ENV'] = env
90
+ if defined? ::Rails
91
+ ::Rails.env = env
92
+
93
+ # load config/environments/test.rb
94
+ test_env_rb = ::Rails.root.join("config/environments/#{env}.rb")
95
+ load(test_env_rb) if File.exist?(test_env_rb)
96
+ end
97
+ end
98
+
76
99
  def argv_to_s
77
100
  ARGV.map { |arg|
78
101
  if arg.include?(" ")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: theine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Berdajs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-21 00:00:00.000000000 Z
11
+ date: 2013-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry