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 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