route_translator 3.2.2 → 3.2.3
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.
- checksums.yaml +4 -4
- data/lib/route_translator/translator.rb +7 -2
- data/lib/route_translator/version.rb +1 -1
- data/test/routing_test.rb +24 -0
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef0e4ac719821950ba3fea3f94d84bec1e09fb5d
|
4
|
+
data.tar.gz: afca96b6d293ba9d1a7380f9b325241606b4c6ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2a8dc0d13b2ab963e09537c38df4d29f8e13ff50ea6bf16f0d910500a3fa6a954e39946cb738b3d001ef4f6b3837658d2cc621a530fc03d26d810ac390348760
|
7
|
+
data.tar.gz: b2375cb371910ed1563e334b02a67586aaa9b2ce4867478a171ec4f97fc389d4c36449a7eccde3e736021ccce6e1fdd8c3154f55b8e403a8c6725d3414a2323b
|
@@ -54,7 +54,7 @@ module RouteTranslator
|
|
54
54
|
def self.translate_path(path, locale)
|
55
55
|
new_path = path.dup
|
56
56
|
final_optional_segments = new_path.slice!(/(\([^\/]+\))$/)
|
57
|
-
translated_segments = new_path.split(
|
57
|
+
translated_segments = new_path.split(/\/|\./).map{ |seg| translate_path_segment(seg, locale) }.select{ |seg| !seg.blank? }
|
58
58
|
|
59
59
|
# if not hiding locale then
|
60
60
|
# add locale prefix if it's not the default locale,
|
@@ -66,7 +66,12 @@ module RouteTranslator
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
-
|
69
|
+
joined_segments = translated_segments.inject do |memo, segment|
|
70
|
+
separator = segment == ':format' ? '.' : '/'
|
71
|
+
memo << separator << segment
|
72
|
+
end
|
73
|
+
|
74
|
+
"/#{joined_segments}#{final_optional_segments}".gsub(/\/\(\//, '(/')
|
70
75
|
end
|
71
76
|
|
72
77
|
def self.translate_name(n, locale)
|
data/test/routing_test.rb
CHANGED
@@ -285,6 +285,30 @@ class TranslateRoutesTest < ActionController::TestCase
|
|
285
285
|
end
|
286
286
|
end
|
287
287
|
|
288
|
+
def test_route_with_mandatory_format
|
289
|
+
draw_routes do
|
290
|
+
localized do
|
291
|
+
get 'people.:format', :to => 'people#index'
|
292
|
+
end
|
293
|
+
end
|
294
|
+
|
295
|
+
assert_routing '/es/gente.xml', :controller => 'people', :action => 'index', :format => 'xml', :locale => 'es'
|
296
|
+
assert_routing '/people.xml', :controller => 'people', :action => 'index', :format => 'xml', :locale => 'en'
|
297
|
+
end
|
298
|
+
|
299
|
+
def test_route_with_optional_format
|
300
|
+
draw_routes do
|
301
|
+
localized do
|
302
|
+
get 'people(.:format)', :to => 'people#index'
|
303
|
+
end
|
304
|
+
end
|
305
|
+
|
306
|
+
assert_routing '/es/gente', :controller => 'people', :action => 'index', :locale => 'es'
|
307
|
+
assert_routing '/people', :controller => 'people', :action => 'index', :locale => 'en'
|
308
|
+
assert_routing '/es/gente.xml', :controller => 'people', :action => 'index', :format => 'xml', :locale => 'es'
|
309
|
+
assert_routing '/people.xml', :controller => 'people', :action => 'index', :format => 'xml', :locale => 'en'
|
310
|
+
end
|
311
|
+
|
288
312
|
def test_i18n_based_translations_setting_locales
|
289
313
|
config_default_locale_settings 'en'
|
290
314
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: route_translator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Raul Murciano
|
@@ -9,48 +9,48 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-06-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitest
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - ~>
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: 4.7.0
|
21
21
|
type: :development
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - ~>
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: 4.7.0
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: pry
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - '>='
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '0'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - '>='
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: pry-nav
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - '>='
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: '0'
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - '>='
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0'
|
56
56
|
description: Translates the Rails routes of your application into the languages defined
|
@@ -91,17 +91,17 @@ require_paths:
|
|
91
91
|
- lib
|
92
92
|
required_ruby_version: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - '>='
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
98
98
|
requirements:
|
99
|
-
- -
|
99
|
+
- - '>='
|
100
100
|
- !ruby/object:Gem::Version
|
101
101
|
version: '0'
|
102
102
|
requirements: []
|
103
103
|
rubyforge_project:
|
104
|
-
rubygems_version: 2.
|
104
|
+
rubygems_version: 2.0.14
|
105
105
|
signing_key:
|
106
106
|
specification_version: 4
|
107
107
|
summary: Translate your Rails routes in a simple manner
|