uc 0.1.6 → 0.1.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4717340033c85eeb1adf64c4cdb0f6ef1e7ba84f
4
- data.tar.gz: 0ca0e36885ee79e4c1244a83de351b06cbec859e
3
+ metadata.gz: c14e77816fc0c5a32bdbefd2bfd3097bbb66ff0c
4
+ data.tar.gz: b3e4a340c82a8f6dffbc1c208878394e9c3ef40e
5
5
  SHA512:
6
- metadata.gz: 6e75211aa953c5d9717d3fc83f1b8482772168f91af4df5b8bb3f3d4e982206bdde72a994085bf5d93b12dd09faec98ed9a0c48f3fc8d20ceac017fbddefa770
7
- data.tar.gz: 3ef2b11dca8e4a1fb70e7d9e7031ff4ba60ebf03a7ac7d72b7d1751d247b34bce9323e2b1ec7cf7a1529e2a6d4766be328e1dccadabf96468976f4ff999f22f1
6
+ metadata.gz: 2b0c938f9efb57fd9acc096a43aadfa8abfab8784d0cadf149b18c058da5d63d7873d253af2f26df684531f51ad33bfd63cf696fc0e0e2b3ad8c3a9cfdd19a12
7
+ data.tar.gz: 1f1efb7e70788334b5fc014b7073af9305f5b2cf2cabfda0d4efffaf7ba71e4756edd7dce04e52dc640fdd644422ddd66bc0ccd4ececbd87536dd85eccb8f479
@@ -1,5 +1,6 @@
1
1
  require 'uc/unicorn/api'
2
2
  uc = ::Uc::Unicorn::Api.new("<%= config.fetch :event_queue %>")
3
+ uc.init_original_env
3
4
  worker_processes <%= config.fetch :instances %>
4
5
  working_directory "<%= paths.app_dir %>"
5
6
  timeout <%= config.fetch :timeout %>
@@ -39,6 +40,7 @@ after_fork do |server, worker|
39
40
  end
40
41
 
41
42
  before_exec do |server|
43
+ uc.load_original_env
42
44
  uc.clean_env
43
45
  uc.load_env
44
46
  end
@@ -11,7 +11,7 @@ module Uc; module Unicorn
11
11
 
12
12
  class Api
13
13
 
14
- attr_reader :run_id
14
+ attr_reader :run_id, :original_env
15
15
  attr_accessor :queue_name
16
16
 
17
17
  def initialize(event_queue)
@@ -75,11 +75,14 @@ module Uc; module Unicorn
75
75
  end
76
76
 
77
77
  def clean_env
78
+ return if not File.exist? ".clean_env"
78
79
  ENV.delete "BUNDLE_BIN_PATH"
79
80
  ENV.delete "RUBYLIB"
80
81
  ENV.delete "RUBYOPT"
81
82
  ENV.delete "GEM_HOME"
82
83
  ENV.delete "GEM_PATH"
84
+ ENV.delete "BUNDLE_GEMFILE"
85
+ ENV["PATH"] = cleaned_path
83
86
  end
84
87
 
85
88
  def load_env
@@ -87,6 +90,22 @@ module Uc; module Unicorn
87
90
  config.load_env
88
91
  end
89
92
 
93
+ def cleaned_path
94
+ paths = (ENV["PATH"] || "").split(File::PATH_SEPARATOR)
95
+ paths.reject! { |x| x =~ /vendor\/bundle\/ruby/ }
96
+ paths.uniq.join(File::PATH_SEPARATOR)
97
+ end
98
+
99
+ def load_original_env
100
+ return if not @original_env.is_a? Hash
101
+ ENV.replace(@original_env)
102
+ end
103
+
104
+ def init_original_env
105
+ return if @original_env
106
+ @original_env = ENV.to_h
107
+ end
108
+
90
109
  end
91
110
 
92
111
  end; end
data/lib/uc/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Uc
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Neeraj
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-04 00:00:00.000000000 Z
11
+ date: 2015-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler