rails-translate-routes 0.0.3 → 0.0.4

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/README.rdoc CHANGED
@@ -184,7 +184,6 @@ But in case you would prefer the locale to be implicit or simply because you don
184
184
  Help is welcome ;)
185
185
 
186
186
  * make basic testing
187
- * support for rails 3.2
188
187
 
189
188
  == Credits
190
189
 
@@ -193,6 +192,7 @@ Thanks to:
193
192
  * Contributors of the current gem:
194
193
  * Martin Carel (https://github.com/cawel)
195
194
  * Johan Gyllenspetz (https://github.com/gyllen)
195
+ * Nico Ritsche (https://github.com/ncri)
196
196
 
197
197
  * Main development of forked gem:
198
198
  * Raul Murciano (http://github.com/raul)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.0.4
@@ -165,15 +165,36 @@ class RailsTranslateRoutes
165
165
 
166
166
  # save original routes and clear route set
167
167
  original_routes = route_set.routes.dup # Array [routeA, routeB, ...]
168
- original_routes.delete_if{|r| r.path == '/assets'}
168
+
169
+ if Rails.version >= '3.2'
170
+ original_routes.routes.delete_if{|r| r.path.spec.to_s == '/assets' }
171
+ else
172
+ original_routes.delete_if{|r| r.path == '/assets'}
173
+ end
174
+
169
175
  original_named_routes = route_set.named_routes.routes.dup # Hash {:name => :route}
170
176
 
171
- reset_route_set route_set
177
+ if Rails.version >= '3.2'
178
+ translated_routes = []
179
+ original_routes.each do |original_route|
180
+ translations_for(original_route).each do |translated_route_args|
181
+ translated_routes << translated_route_args
182
+ end
183
+ end
172
184
 
173
- original_routes.each do |original_route|
174
- translations_for(original_route).each do |translated_route_args|
185
+ reset_route_set route_set
186
+
187
+ translated_routes.each do |translated_route_args|
175
188
  route_set.add_route *translated_route_args
176
189
  end
190
+ else
191
+ reset_route_set route_set
192
+
193
+ original_routes.each do |original_route|
194
+ translations_for(original_route).each do |translated_route_args|
195
+ route_set.add_route *translated_route_args
196
+ end
197
+ end
177
198
  end
178
199
 
179
200
  original_named_routes.each_key do |route_name|
@@ -189,10 +210,16 @@ class RailsTranslateRoutes
189
210
  # Add unmodified root route to route_set
190
211
  def add_root_route root_route, route_set
191
212
  if @prefix_on_default_locale
192
- root_route.conditions[:path_info] = root_route.conditions[:path_info].dup
193
- route_set.set.add_route *root_route
194
- route_set.named_routes[root_route.name] = root_route
195
- route_set.routes << root_route
213
+ if Rails.version >= '3.2'
214
+ conditions = { :path_info => root_route.path.spec.to_s }
215
+ conditions[:request_method] = parse_request_methods root_route.verb if root_route.verb != //
216
+ route_set.add_route root_route.app, conditions, root_route.requirements, root_route.defaults, root_route.name
217
+ else
218
+ root_route.conditions[:path_info] = root_route.conditions[:path_info].dup
219
+ route_set.set.add_route *root_route
220
+ route_set.named_routes[root_route.name] = root_route
221
+ route_set.routes << root_route
222
+ end
196
223
  end
197
224
  end
198
225
 
@@ -224,10 +251,17 @@ class RailsTranslateRoutes
224
251
 
225
252
  # Generate translation for a single route for one locale
226
253
  def translate_route route, locale
227
- conditions = { :path_info => translate_path(route.path, locale) }
228
- conditions[:request_method] = parse_request_methods route.conditions[:request_method] if route.conditions.has_key? :request_method
254
+ if Rails.version >= '3.2'
255
+ conditions = { :path_info => translate_path(route.path.spec.to_s, locale) }
256
+ conditions[:request_method] = parse_request_methods route.verb if route.verb != //
257
+ defaults = route.defaults.merge LOCALE_PARAM_KEY => locale.dup
258
+ else
259
+ conditions = { :path_info => translate_path(route.path, locale) }
260
+ conditions[:request_method] = parse_request_methods route.conditions[:request_method] if route.conditions.has_key? :request_method
261
+ defaults = route.defaults.merge LOCALE_PARAM_KEY => locale
262
+ end
263
+
229
264
  requirements = route.requirements.merge LOCALE_PARAM_KEY => locale
230
- defaults = route.defaults.merge LOCALE_PARAM_KEY => locale
231
265
  new_name = "#{route.name}_#{locale_suffix(locale)}" if route.name
232
266
 
233
267
  [route.app, conditions, requirements, defaults, new_name]
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "rails-translate-routes"
8
- s.version = "0.0.3"
8
+ s.version = "0.0.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Francesc Pla"]
12
- s.date = "2012-01-19"
12
+ s.date = "2012-01-31"
13
13
  s.description = "Simple gem to translate routes in Rails 3.x based on translate_routes"
14
14
  s.email = "francesc@francesc.net"
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-translate-routes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-19 00:00:00.000000000 Z
12
+ date: 2012-01-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70338562849500 !ruby/object:Gem::Requirement
16
+ requirement: &70276501525960 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70338562849500
24
+ version_requirements: *70276501525960
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &70338562848820 !ruby/object:Gem::Requirement
27
+ requirement: &70276501524780 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.0.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70338562848820
35
+ version_requirements: *70276501524780
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jeweler
38
- requirement: &70338562848100 !ruby/object:Gem::Requirement
38
+ requirement: &70276501523320 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.6.4
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70338562848100
46
+ version_requirements: *70276501523320
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: sqlite3
49
- requirement: &70338562847340 !ruby/object:Gem::Requirement
49
+ requirement: &70276501522360 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70338562847340
57
+ version_requirements: *70276501522360
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: minitest
60
- requirement: &70338562844740 !ruby/object:Gem::Requirement
60
+ requirement: &70276501521720 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70338562844740
68
+ version_requirements: *70276501521720
69
69
  description: Simple gem to translate routes in Rails 3.x based on translate_routes
70
70
  email: francesc@francesc.net
71
71
  executables: []
@@ -101,7 +101,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
101
  version: '0'
102
102
  segments:
103
103
  - 0
104
- hash: 958290384052730761
104
+ hash: -2099003059904251866
105
105
  required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements: