rack-heroku_env 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ rvm:
2
+ - 1.8.7
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - jruby
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
+ [![Build Status](http://travis-ci.org/juno/rack-heroku_env.png)](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
  ![Screenshot](http://farm7.static.flickr.com/6072/6034883614_f94d8d6d61_b.jpg)
7
9
 
8
- `Rack::HerokuEnv` exposes these variables:
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 "bundler/gem_tasks"
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
@@ -1,12 +1,6 @@
1
1
  module Rack
2
2
  class HerokuEnv
3
- VERSION = "0.0.1"
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
- VARIABLE_NAMES.each do |variable_name, header_name|
19
- response[1][header_name] = env[variable_name] if env[variable_name]
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
@@ -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.3.2'
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.1
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: 2011-08-12 00:00:00.000000000Z
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: &70320178971740 !ruby/object:Gem::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.3.2
21
+ version: '1.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70320178971740
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: &70320178971260 !ruby/object:Gem::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: *70320178971260
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: &70320178970800 !ruby/object:Gem::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: *70320178970800
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.6
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