rack-rewrite 1.0.0 → 1.0.1

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