rack-rewrite 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,7 @@
1
+ === 1.0.1 / 2010-09-17
2
+ * Maintenance
3
+ * Set Content-Type based on file extension of file/location being redirected to. Addresses GitHub Issue #8.
4
+
1
5
  === 1.0.0 / 2010-05-13
2
6
  * API
3
7
  * Fix rack 1.1.0 / rails3 compatibility by eliminating reliance on REQUEST_URI env param. Paths are now constructed with PATH_INFO and QUERY_STRING
@@ -14,8 +14,8 @@ can get away with rack-rewrite instead of writing Apache mod_rewrite rules.
14
14
 
15
15
  === Sample rackup file
16
16
 
17
- gem 'rack-rewrite', '~> 0.2.1'
18
- require 'rack/rewrite
17
+ gem 'rack-rewrite', '~> 1.0.0'
18
+ require 'rack/rewrite'
19
19
  use Rack::Rewrite do
20
20
  rewrite '/wiki/John_Trupiano', '/john'
21
21
  r301 '/wiki/Yair_Flicker', '/yair'
@@ -24,7 +24,7 @@ can get away with rack-rewrite instead of writing Apache mod_rewrite rules.
24
24
  end
25
25
 
26
26
  === Sample usage in a rails app
27
- config.gem 'rack-rewrite', '~> 0.2.1'
27
+ config.gem 'rack-rewrite', '~> 1.0.0'
28
28
  require 'rack/rewrite'
29
29
  config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do
30
30
  rewrite '/wiki/John_Trupiano', '/john'
@@ -0,0 +1,4 @@
1
+ Update History.txt with relevant details
2
+ Manually edit .gemspec updating file list, version, and date.
3
+ Tag the new version (git tag -a vX.X.X)
4
+ Build and push the gem (gem build rack-rewrite.gemspec && gem push rack-rewrite-X.X.X.gem)
data/Rakefile CHANGED
@@ -1,27 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
3
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "rack-rewrite"
8
- gem.summary = %Q{A rack middleware for enforcing rewrite rules}
9
- gem.description = %Q{A rack middleware for enforcing rewrite rules. In many cases you can get away with rack-rewrite instead of writing Apache mod_rewrite rules.}
10
- gem.email = "jtrupiano@gmail.com"
11
- gem.homepage = "http://github.com/jtrupiano/rack-rewrite"
12
- gem.authors = ["John Trupiano"]
13
- gem.rubyforge_project = "johntrupiano"
14
- gem.add_development_dependency "shoulda"
15
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
- end
17
- Jeweler::GemcutterTasks.new
18
- Jeweler::RubyforgeTasks.new do |rubyforge|
19
- rubyforge.doc_task = "rdoc"
20
- end
21
- rescue LoadError
22
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
23
- end
24
-
25
4
  require 'rake/testtask'
26
5
  Rake::TestTask.new(:test) do |test|
27
6
  test.libs << 'lib' << 'test' << '.'
@@ -87,9 +87,9 @@ module Rack
87
87
  interpreted_to = self.interpret_to(env)
88
88
  case self.rule_type
89
89
  when :r301
90
- [301, {'Location' => interpreted_to, 'Content-Type' => 'text/html'}, [redirect_message(interpreted_to)]]
90
+ [301, {'Location' => interpreted_to, 'Content-Type' => Rack::Mime.mime_type(::File.extname(interpreted_to))}, [redirect_message(interpreted_to)]]
91
91
  when :r302
92
- [302, {'Location' => interpreted_to, 'Content-Type' => 'text/html'}, [redirect_message(interpreted_to)]]
92
+ [302, {'Location' => interpreted_to, 'Content-Type' => Rack::Mime.mime_type(::File.extname(interpreted_to))}, [redirect_message(interpreted_to)]]
93
93
  when :rewrite
94
94
  # return [200, {}, {:content => env.inspect}]
95
95
  env['REQUEST_URI'] = interpreted_to
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rack-rewrite}
8
- s.version = "1.0.0"
8
+ s.version = "1.0.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["John Trupiano"]
12
- s.date = %q{2010-05-13}
12
+ s.date = %q{2010-09-17}
13
13
  s.description = %q{A rack middleware for enforcing rewrite rules. In many cases you can get away with rack-rewrite instead of writing Apache mod_rewrite rules.}
14
14
  s.email = %q{jtrupiano@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
24
24
  "LICENSE",
25
25
  "README.rdoc",
26
26
  "Rakefile",
27
- "VERSION",
27
+ "RELEASING",
28
28
  "lib/rack-rewrite.rb",
29
29
  "lib/rack/rewrite.rb",
30
30
  "lib/rack/rewrite/rule.rb",
@@ -38,7 +38,7 @@ Gem::Specification.new do |s|
38
38
  s.rdoc_options = ["--charset=UTF-8"]
39
39
  s.require_paths = ["lib"]
40
40
  s.rubyforge_project = %q{johntrupiano}
41
- s.rubygems_version = %q{1.3.6}
41
+ s.rubygems_version = %q{1.3.7}
42
42
  s.summary = %q{A rack middleware for enforcing rewrite rules}
43
43
  s.test_files = [
44
44
  "test/rack-rewrite_test.rb",
@@ -70,14 +70,22 @@ class RuleTest < Test::Unit::TestCase
70
70
  assert_equal '/john?bio=1', env['REQUEST_URI']
71
71
  end
72
72
 
73
- should 'set Content-Type header to text/html for a 301 and 302' do
73
+ should 'set Content-Type header to text/html for a 301 and 302 request for a .html page' do
74
74
  [:r301, :r302].each do |rule_type|
75
- rule = Rack::Rewrite::Rule.new(rule_type, %r{/abc}, '/def')
75
+ rule = Rack::Rewrite::Rule.new(rule_type, %r{/abc}, '/def.html')
76
76
  env = {'PATH_INFO' => '/abc'}
77
77
  assert_equal 'text/html', rule.apply!(env)[1]['Content-Type']
78
78
  end
79
79
  end
80
80
 
81
+ should 'set Content-Type header to text/css for a 301 and 302 request for a .css page' do
82
+ [:r301, :r302].each do |rule_type|
83
+ rule = Rack::Rewrite::Rule.new(rule_type, %r{/abc}, '/def.css')
84
+ env = {'PATH_INFO' => '/abc'}
85
+ assert_equal 'text/css', rule.apply!(env)[1]['Content-Type']
86
+ end
87
+ end
88
+
81
89
  context 'Given an :x_send_file rule that matches' do
82
90
  setup do
83
91
  @file = File.join(TEST_ROOT, 'geminstaller.yml')
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-rewrite
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 21
4
5
  prerelease: false
5
6
  segments:
6
7
  - 1
7
8
  - 0
8
- - 0
9
- version: 1.0.0
9
+ - 1
10
+ version: 1.0.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - John Trupiano
@@ -14,7 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-05-13 00:00:00 -04:00
18
+ date: 2010-09-17 00:00:00 -04:00
18
19
  default_executable:
19
20
  dependencies: []
20
21
 
@@ -35,7 +36,7 @@ files:
35
36
  - LICENSE
36
37
  - README.rdoc
37
38
  - Rakefile
38
- - VERSION
39
+ - RELEASING
39
40
  - lib/rack-rewrite.rb
40
41
  - lib/rack/rewrite.rb
41
42
  - lib/rack/rewrite/rule.rb
@@ -54,23 +55,27 @@ rdoc_options:
54
55
  require_paths:
55
56
  - lib
56
57
  required_ruby_version: !ruby/object:Gem::Requirement
58
+ none: false
57
59
  requirements:
58
60
  - - ">="
59
61
  - !ruby/object:Gem::Version
62
+ hash: 3
60
63
  segments:
61
64
  - 0
62
65
  version: "0"
63
66
  required_rubygems_version: !ruby/object:Gem::Requirement
67
+ none: false
64
68
  requirements:
65
69
  - - ">="
66
70
  - !ruby/object:Gem::Version
71
+ hash: 3
67
72
  segments:
68
73
  - 0
69
74
  version: "0"
70
75
  requirements: []
71
76
 
72
77
  rubyforge_project: johntrupiano
73
- rubygems_version: 1.3.6
78
+ rubygems_version: 1.3.7
74
79
  signing_key:
75
80
  specification_version: 3
76
81
  summary: A rack middleware for enforcing rewrite rules
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 1.0.0