heroku-forward 0.3.0 → 0.3.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.
data/lib/heroku/forward.rb
CHANGED
@@ -22,7 +22,7 @@ module Heroku
|
|
22
22
|
# ssl_verify: activated with ssl_verify
|
23
23
|
def initialize(options = {})
|
24
24
|
@application = options[:application]
|
25
|
-
@socket = options[:socket] ||
|
25
|
+
@socket = options[:socket] || Heroku::Forward::Utils::Dir.tmp_filename('thin-', '.sock')
|
26
26
|
@env = options[:env] || :development
|
27
27
|
|
28
28
|
@ssl = options[:ssl] || false
|
@@ -62,16 +62,10 @@ module Heroku
|
|
62
62
|
|
63
63
|
private
|
64
64
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
end
|
70
|
-
|
71
|
-
def check!
|
72
|
-
raise Heroku::Forward::Errors::MissingBackendOptionError.new('application') unless @application && @application.length > 0
|
73
|
-
raise Heroku::Forward::Errors::MissingBackendApplicationError.new(@application) unless File.exists?(@application)
|
74
|
-
end
|
65
|
+
def check!
|
66
|
+
raise Heroku::Forward::Errors::MissingBackendOptionError.new('application') unless @application && @application.length > 0
|
67
|
+
raise Heroku::Forward::Errors::MissingBackendApplicationError.new(@application) unless File.exists?(@application)
|
68
|
+
end
|
75
69
|
|
76
70
|
end
|
77
71
|
end
|
@@ -3,51 +3,46 @@ module Heroku
|
|
3
3
|
module Backends
|
4
4
|
class Unicorn
|
5
5
|
attr_accessor :application, :socket, :environment, :pid, :config_file
|
6
|
-
|
6
|
+
|
7
7
|
def initialize(options = {})
|
8
8
|
@application = options[:application]
|
9
|
-
@socket = options[:socket] || tmp_filename('unicorn', '.sock')
|
9
|
+
@socket = options[:socket] || Heroku::Forward::Utils::Dir.tmp_filename('unicorn-', '.sock')
|
10
10
|
@env = options[:env] || 'development'
|
11
11
|
@config_file = options[:config_file]
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
def spawn!
|
15
15
|
return false if spawned?
|
16
16
|
check!
|
17
|
-
|
17
|
+
|
18
18
|
args = ['unicorn']
|
19
19
|
args.push '--env', @env
|
20
20
|
args.push '--config-file', @config_file if @config_file
|
21
21
|
args.push '--listen', @socket
|
22
22
|
args.push @application
|
23
|
-
|
23
|
+
|
24
24
|
@pid = Spoon.spawnp(*args)
|
25
25
|
@spawned = true
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
def terminate!
|
29
29
|
return false unless spawned?
|
30
30
|
Process.kill 'QUIT', @pid
|
31
31
|
@spawned = false
|
32
32
|
true
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
def spawned?
|
36
36
|
!!@spawned
|
37
37
|
end
|
38
|
-
|
38
|
+
|
39
39
|
private
|
40
|
-
|
41
|
-
# Borrowed from ruby 1.9's Dir::Tmpname.make_tmpname for 1.8.7-compatibility.
|
42
|
-
def tmp_filename(prefix, suffix)
|
43
|
-
File.join Dir.tmpdir, "#{prefix}#{Time.now.strftime("%Y%m%d")}-#{$$}-#{rand(0x100000000).to_s(36)}#{suffix}"
|
44
|
-
end
|
45
|
-
|
40
|
+
|
46
41
|
def check!
|
47
42
|
raise Heroku::Forward::Errors::MissingBackendOptionError.new('application') unless @application && @application.length > 0
|
48
43
|
raise Heroku::Forward::Errors::MissingBackendApplicationError.new(@application) unless File.exists?(@application)
|
49
44
|
end
|
50
|
-
|
45
|
+
|
51
46
|
end
|
52
47
|
end
|
53
48
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Heroku
|
2
|
+
module Forward
|
3
|
+
module Utils
|
4
|
+
|
5
|
+
module Dir
|
6
|
+
|
7
|
+
# Partially borrowed from ruby 1.9's Dir::Tmpname.make_tmpname for 1.8.7-compatibility.
|
8
|
+
def self.tmp_filename(prefix, suffix)
|
9
|
+
File.join ::Dir.tmpdir, "#{prefix}#{Time.now.strftime("%Y%m%d")}-#{$$}-#{rand(0x100000000).to_s(36)}#{suffix}"
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: heroku-forward
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.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: 2013-01-
|
12
|
+
date: 2013-01-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: em-proxy
|
@@ -208,6 +208,7 @@ files:
|
|
208
208
|
- lib/heroku/forward/errors/missing_backend_option_error.rb
|
209
209
|
- lib/heroku/forward/proxy.rb
|
210
210
|
- lib/heroku/forward/proxy/server.rb
|
211
|
+
- lib/heroku/forward/utils/dir.rb
|
211
212
|
- lib/heroku/forward/version.rb
|
212
213
|
- LICENSE.md
|
213
214
|
- README.md
|
@@ -226,7 +227,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
226
227
|
version: '0'
|
227
228
|
segments:
|
228
229
|
- 0
|
229
|
-
hash:
|
230
|
+
hash: 669463106192419404
|
230
231
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
231
232
|
none: false
|
232
233
|
requirements:
|