rack-heroku_env 0.0.1 → 0.1.0
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/.rspec +1 -0
- data/.travis.yml +5 -0
- data/CHANGELOG.md +21 -0
- data/README.md +5 -1
- data/Rakefile +11 -1
- data/lib/rack/heroku_env.rb +14 -9
- data/rack-heroku_env.gemspec +1 -1
- metadata +34 -10
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
Changelog
|
2
|
+
====
|
3
|
+
|
4
|
+
dev
|
5
|
+
----
|
6
|
+
[full changelog](http://github.com/juno/rack-heroku_env/compare/v0.0.1...master)
|
7
|
+
|
8
|
+
0.1.0 / 2012-05-03
|
9
|
+
----
|
10
|
+
|
11
|
+
Enhancments
|
12
|
+
|
13
|
+
* Be more dynamic about how we generate headers (brianjlandau)
|
14
|
+
* Allow more Rack versions (brianjlandau)
|
15
|
+
* Add rake spec task (juno)
|
16
|
+
* Add Travis CI config (juno)
|
17
|
+
|
18
|
+
0.0.1 / 2011-08-12
|
19
|
+
----
|
20
|
+
|
21
|
+
* first release
|
data/README.md
CHANGED
@@ -1,11 +1,15 @@
|
|
1
1
|
rack-heroku_env
|
2
2
|
====
|
3
3
|
|
4
|
+
[](http://travis-ci.org/juno/rack-heroku_env)
|
5
|
+
|
4
6
|
A gem that provides exposing Heroku environment variables as HTTP response headers as rack middleware.
|
5
7
|
|
6
8
|

|
7
9
|
|
8
|
-
`Rack::HerokuEnv` exposes
|
10
|
+
`Rack::HerokuEnv` exposes any `HTTP_X_HEROKU*` as `X-Heroku-*`.
|
11
|
+
|
12
|
+
For example:
|
9
13
|
|
10
14
|
* `HTTP_X_HEROKU_DYNOS_IN_USE` as `X-Heroku-Dynos-In-Use`
|
11
15
|
* `HTTP_X_HEROKU_QUEUE_DEPTH` as `X-Heroku-Queue-Depth`
|
data/Rakefile
CHANGED
@@ -1 +1,11 @@
|
|
1
|
-
require
|
1
|
+
require 'bundler'
|
2
|
+
require 'rspec/core/rake_task'
|
3
|
+
|
4
|
+
Bundler::GemHelper.install_tasks
|
5
|
+
|
6
|
+
desc "Run all specs in spec directory"
|
7
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
8
|
+
spec.pattern = "spec/**/*_spec.rb"
|
9
|
+
end
|
10
|
+
|
11
|
+
task :default => :spec
|
data/lib/rack/heroku_env.rb
CHANGED
@@ -1,12 +1,6 @@
|
|
1
1
|
module Rack
|
2
2
|
class HerokuEnv
|
3
|
-
VERSION =
|
4
|
-
|
5
|
-
VARIABLE_NAMES = {
|
6
|
-
'HTTP_X_HEROKU_DYNOS_IN_USE' => 'X-Heroku-Dynos-In-Use',
|
7
|
-
'HTTP_X_HEROKU_QUEUE_DEPTH' => 'X-Heroku-Queue-Depth',
|
8
|
-
'HTTP_X_HEROKU_QUEUE_WAIT_TIME' => 'X-Heroku-Queue-Wait-Time',
|
9
|
-
}
|
3
|
+
VERSION = '0.1.0'
|
10
4
|
|
11
5
|
def initialize(app)
|
12
6
|
@app = app
|
@@ -15,12 +9,23 @@ module Rack
|
|
15
9
|
def call(env)
|
16
10
|
response = @app.call(env)
|
17
11
|
|
18
|
-
|
19
|
-
response[1][
|
12
|
+
heroku_vars(env).each do |variable_name|
|
13
|
+
response[1][header_name_for(variable_name)] = env[variable_name]
|
20
14
|
end
|
21
15
|
|
22
16
|
response
|
23
17
|
end
|
24
18
|
|
19
|
+
private
|
20
|
+
|
21
|
+
|
22
|
+
def heroku_vars(env)
|
23
|
+
env.keys.grep(/\AHTTP_X_HEROKU/)
|
24
|
+
end
|
25
|
+
|
26
|
+
def header_name_for(variable_name)
|
27
|
+
variable_name.gsub(/\AHTTP_/, '').split('_').map{|w| w.capitalize }.join('-')
|
28
|
+
end
|
29
|
+
|
25
30
|
end
|
26
31
|
end
|
data/rack-heroku_env.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
s.add_runtime_dependency 'rack', '~> 1.
|
21
|
+
s.add_runtime_dependency 'rack', '~> 1.1'
|
22
22
|
|
23
23
|
s.add_development_dependency 'rake', '~> 0.9.2'
|
24
24
|
s.add_development_dependency 'rspec', '~> 2.6.0'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-heroku_env
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,22 +9,27 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-05-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.
|
21
|
+
version: '1.1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.1'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: rake
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ~>
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: 0.9.2
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.9.2
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: rspec
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ~>
|
@@ -43,7 +53,12 @@ dependencies:
|
|
43
53
|
version: 2.6.0
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.6.0
|
47
62
|
description: rack middleware for exposing Heroku environment variables
|
48
63
|
email:
|
49
64
|
- junyaogura@gmail.com
|
@@ -52,6 +67,9 @@ extensions: []
|
|
52
67
|
extra_rdoc_files: []
|
53
68
|
files:
|
54
69
|
- .gitignore
|
70
|
+
- .rspec
|
71
|
+
- .travis.yml
|
72
|
+
- CHANGELOG.md
|
55
73
|
- Gemfile
|
56
74
|
- LICENSE
|
57
75
|
- README.md
|
@@ -72,15 +90,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
72
90
|
- - ! '>='
|
73
91
|
- !ruby/object:Gem::Version
|
74
92
|
version: '0'
|
93
|
+
segments:
|
94
|
+
- 0
|
95
|
+
hash: -1703353384857856853
|
75
96
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
97
|
none: false
|
77
98
|
requirements:
|
78
99
|
- - ! '>='
|
79
100
|
- !ruby/object:Gem::Version
|
80
101
|
version: '0'
|
102
|
+
segments:
|
103
|
+
- 0
|
104
|
+
hash: -1703353384857856853
|
81
105
|
requirements: []
|
82
106
|
rubyforge_project: rack-heroku_env
|
83
|
-
rubygems_version: 1.8.
|
107
|
+
rubygems_version: 1.8.23
|
84
108
|
signing_key:
|
85
109
|
specification_version: 3
|
86
110
|
summary: rack middleware for exposing Heroku environment variables
|