rack-subdomain 0.2.1 → 0.3.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5959d46b21502dbf6990dbf7e52638f717cad88c
4
+ data.tar.gz: 6f1690afc1a59e46fb1180ea11c07d64e112ebdd
5
+ SHA512:
6
+ metadata.gz: 4080b6caf3b42ba6df5e5f17471edd2341d3dae3ec5cb9863555be2f1da209b3f83dd13fdc06d25663e0550995e88d6b3ccf7b4a2e1206ae9f79f2469d72a026
7
+ data.tar.gz: 2f14cf9749e2fb0665b7a3adee42cd95dfc7b88a2c6df60ad57bb49f19ff0f3fc1e63b7c960b64d078b810289ed169c07ec8fab0b3c773bc83ebae641574fffd
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source :rubygems
1
+ source "https://rubygems.org"
2
2
 
3
3
  gemspec
@@ -1,11 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rack-subdomain (0.2.1)
4
+ rack-subdomain (0.3.0)
5
5
  rack (>= 1.2.0, <= 2.0.0)
6
6
 
7
7
  GEM
8
- remote: http://rubygems.org/
8
+ remote: https://rubygems.org/
9
9
  specs:
10
10
  minitest (2.11.4)
11
11
  rack (1.4.1)
@@ -18,8 +18,8 @@ PLATFORMS
18
18
  ruby
19
19
 
20
20
  DEPENDENCIES
21
- minitest (~> 2.11.4)
21
+ minitest (~> 2.11)
22
22
  rack-subdomain!
23
- rack-test (~> 0.6.1)
24
- rake (~> 0.9.2)
25
- rspec (~> 0.6.1)
23
+ rack-test (~> 0.6)
24
+ rake
25
+ rspec
data/Rakefile CHANGED
@@ -7,5 +7,4 @@ task :build => "#{gemspec.full_name}.gem"
7
7
 
8
8
  file "#{gemspec.full_name}.gem" => gemspec.files + ["rack-subdomain.gemspec"] do
9
9
  system "gem build rack-subdomain.gemspec"
10
- system "gem install rack-subdomain-#{Rack::Subdomain::VERSION}.gem"
11
10
  end
@@ -1,6 +1,6 @@
1
1
  module Rack
2
2
  class Subdomain
3
- VERSION = '0.2.1'
3
+ VERSION = '0.3.0'
4
4
 
5
5
  def initialize(app, domain, options = {}, &block)
6
6
  # Maintain compatibility with previous rack-subdomain gem
@@ -20,7 +20,7 @@ module Rack
20
20
  raise ArgumentError, "missing `:to` option or block to define mapping"
21
21
  end
22
22
  end
23
-
23
+
24
24
  def call(env)
25
25
  @env = env
26
26
  @subdomain = subdomain
@@ -49,13 +49,24 @@ module Rack
49
49
 
50
50
  private
51
51
 
52
+ def domain
53
+ case @domain
54
+ when Proc
55
+ @domain.call(@env['HTTP_HOST'])
56
+ when Regexp
57
+ @domain.match(@env['HTTP_HOST'])
58
+ else
59
+ @domain
60
+ end
61
+ end
62
+
52
63
  def subdomain
53
- @env['HTTP_HOST'].sub(/\.?#{@domain}.*$/,'') unless @env['HTTP_HOST'].match(/^localhost/)
64
+ @env['HTTP_HOST'].sub(/\.?#{domain}.*$/,'') unless @env['HTTP_HOST'].match(/^localhost/)
54
65
  end
55
66
 
56
67
  def remap_with_substituted_path!(path)
57
68
  scheme = @env["rack.url_scheme"]
58
- host = "#{@subdomain}.#{@domain}"
69
+ host = "#{@subdomain}.#{domain}"
59
70
  port = ":#{@env['SERVER_PORT']}" unless @env['SERVER_PORT'] == '80'
60
71
  path = @env["PATH_INFO"] = ::File.join(path, @env["PATH_INFO"])
61
72
  query_string = "?" + @env["QUERY_STRING"] unless @env["QUERY_STRING"].empty?
Binary file
@@ -12,14 +12,12 @@ Gem::Specification.new do |s|
12
12
  s.summary = "rack-subdomain"
13
13
  s.description = "Rack middleware to route requests with subdomains to specified routes with substitutions"
14
14
 
15
- s.add_development_dependency "rspec", "~> 0.6.1"
16
- s.add_development_dependency "rake", "~> 0.9.2"
17
-
18
15
  s.add_runtime_dependency "rack", ">= 1.2.0", "<= 2.0.0"
19
16
 
20
- s.add_development_dependency "minitest", "~> 2.11.4"
21
- s.add_development_dependency "rack-test", "~> 0.6.1"
22
- s.add_development_dependency "rake", "~> 0.9.2"
17
+ s.add_development_dependency "rspec"
18
+ s.add_development_dependency "rake"
19
+ s.add_development_dependency "minitest", "~> 2.11"
20
+ s.add_development_dependency "rack-test", "~> 0.6"
23
21
 
24
22
  s.files = Dir["./**/*"].reject { |file| file =~ /\.\/(bin|log|pkg|script|spec|test|vendor)/ }
25
23
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-subdomain
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
5
- prerelease:
4
+ version: 0.3.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Mattt Thompson
@@ -10,44 +9,11 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2012-12-09 00:00:00.000000000 Z
12
+ date: 2013-05-24 00:00:00.000000000 Z
14
13
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: rspec
17
- requirement: !ruby/object:Gem::Requirement
18
- none: false
19
- requirements:
20
- - - ~>
21
- - !ruby/object:Gem::Version
22
- version: 0.6.1
23
- type: :development
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
- requirements:
28
- - - ~>
29
- - !ruby/object:Gem::Version
30
- version: 0.6.1
31
- - !ruby/object:Gem::Dependency
32
- name: rake
33
- requirement: !ruby/object:Gem::Requirement
34
- none: false
35
- requirements:
36
- - - ~>
37
- - !ruby/object:Gem::Version
38
- version: 0.9.2
39
- type: :development
40
- prerelease: false
41
- version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
- requirements:
44
- - - ~>
45
- - !ruby/object:Gem::Version
46
- version: 0.9.2
47
14
  - !ruby/object:Gem::Dependency
48
15
  name: rack
49
16
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
17
  requirements:
52
18
  - - ! '>='
53
19
  - !ruby/object:Gem::Version
@@ -58,7 +24,6 @@ dependencies:
58
24
  type: :runtime
59
25
  prerelease: false
60
26
  version_requirements: !ruby/object:Gem::Requirement
61
- none: false
62
27
  requirements:
63
28
  - - ! '>='
64
29
  - !ruby/object:Gem::Version
@@ -67,53 +32,61 @@ dependencies:
67
32
  - !ruby/object:Gem::Version
68
33
  version: 2.0.0
69
34
  - !ruby/object:Gem::Dependency
70
- name: minitest
35
+ name: rspec
71
36
  requirement: !ruby/object:Gem::Requirement
72
- none: false
73
37
  requirements:
74
- - - ~>
38
+ - - ! '>='
75
39
  - !ruby/object:Gem::Version
76
- version: 2.11.4
40
+ version: '0'
77
41
  type: :development
78
42
  prerelease: false
79
43
  version_requirements: !ruby/object:Gem::Requirement
80
- none: false
81
44
  requirements:
82
- - - ~>
45
+ - - ! '>='
83
46
  - !ruby/object:Gem::Version
84
- version: 2.11.4
47
+ version: '0'
85
48
  - !ruby/object:Gem::Dependency
86
- name: rack-test
49
+ name: rake
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: minitest
87
64
  requirement: !ruby/object:Gem::Requirement
88
- none: false
89
65
  requirements:
90
66
  - - ~>
91
67
  - !ruby/object:Gem::Version
92
- version: 0.6.1
68
+ version: '2.11'
93
69
  type: :development
94
70
  prerelease: false
95
71
  version_requirements: !ruby/object:Gem::Requirement
96
- none: false
97
72
  requirements:
98
73
  - - ~>
99
74
  - !ruby/object:Gem::Version
100
- version: 0.6.1
75
+ version: '2.11'
101
76
  - !ruby/object:Gem::Dependency
102
- name: rake
77
+ name: rack-test
103
78
  requirement: !ruby/object:Gem::Requirement
104
- none: false
105
79
  requirements:
106
80
  - - ~>
107
81
  - !ruby/object:Gem::Version
108
- version: 0.9.2
82
+ version: '0.6'
109
83
  type: :development
110
84
  prerelease: false
111
85
  version_requirements: !ruby/object:Gem::Requirement
112
- none: false
113
86
  requirements:
114
87
  - - ~>
115
88
  - !ruby/object:Gem::Version
116
- version: 0.9.2
89
+ version: '0.6'
117
90
  description: Rack middleware to route requests with subdomains to specified routes
118
91
  with substitutions
119
92
  email: m@mattt.me
@@ -126,37 +99,31 @@ files:
126
99
  - ./lib/rack/subdomain.rb
127
100
  - ./lib/rack-subdomain.rb
128
101
  - ./LICENSE
102
+ - ./rack-subdomain-0.2.1.gem
129
103
  - ./rack-subdomain.gemspec
130
104
  - ./Rakefile
131
105
  - ./README.md
132
106
  homepage: http://github.com/mattt/rack-subdomain
133
107
  licenses: []
108
+ metadata: {}
134
109
  post_install_message:
135
110
  rdoc_options: []
136
111
  require_paths:
137
112
  - lib
138
113
  required_ruby_version: !ruby/object:Gem::Requirement
139
- none: false
140
114
  requirements:
141
115
  - - ! '>='
142
116
  - !ruby/object:Gem::Version
143
117
  version: '0'
144
- segments:
145
- - 0
146
- hash: -539744315784908145
147
118
  required_rubygems_version: !ruby/object:Gem::Requirement
148
- none: false
149
119
  requirements:
150
120
  - - ! '>='
151
121
  - !ruby/object:Gem::Version
152
122
  version: '0'
153
- segments:
154
- - 0
155
- hash: -539744315784908145
156
123
  requirements: []
157
124
  rubyforge_project:
158
- rubygems_version: 1.8.24
125
+ rubygems_version: 2.0.3
159
126
  signing_key:
160
- specification_version: 3
127
+ specification_version: 4
161
128
  summary: rack-subdomain
162
129
  test_files: []