utopia 0.9.50 → 0.9.51
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/lib/utopia/middleware/redirector.rb +18 -0
- data/lib/utopia/version.rb +1 -1
- metadata +4 -4
@@ -81,6 +81,16 @@ module Utopia
|
|
81
81
|
ExceptionRedirector = ExceptionHandler
|
82
82
|
|
83
83
|
class Redirector
|
84
|
+
# Redirects a whole source tree to a destination tree, given by the roots.
|
85
|
+
def self.moved(source_root, destination_root)
|
86
|
+
return [
|
87
|
+
/^#{Regexp.escape(source_root)}(.*)$/,
|
88
|
+
lambda do |match|
|
89
|
+
[301, {"Location" => (destination_root + match[1]).to_s}, []]
|
90
|
+
end
|
91
|
+
]
|
92
|
+
end
|
93
|
+
|
84
94
|
private
|
85
95
|
def normalize_strings(strings)
|
86
96
|
normalized = {}
|
@@ -117,6 +127,14 @@ module Utopia
|
|
117
127
|
@strings = options[:strings] || {}
|
118
128
|
@patterns = options[:patterns] || {}
|
119
129
|
|
130
|
+
@patterns.collect! do |rule|
|
131
|
+
if Symbol === rule[0]
|
132
|
+
self.class.send(*rule)
|
133
|
+
else
|
134
|
+
rule
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
120
138
|
@strings = normalize_strings(@strings)
|
121
139
|
@patterns = normalize_patterns(@patterns)
|
122
140
|
|
data/lib/utopia/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: utopia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 93
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
9
|
+
- 51
|
10
|
+
version: 0.9.51
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Samuel Williams
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-05-
|
18
|
+
date: 2011-05-24 00:00:00 +12:00
|
19
19
|
default_executable: utopia
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|