rails-translate-routes 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +15 -10
- data/VERSION +1 -1
- data/lib/controller_test_helper.rb +19 -0
- data/rails-translate-routes.gemspec +2 -1
- metadata +13 -12
data/README.rdoc
CHANGED
@@ -100,7 +100,7 @@ By default it generates the following url structure:
|
|
100
100
|
/products/
|
101
101
|
/es/productos/
|
102
102
|
/contact/
|
103
|
-
/es/
|
103
|
+
/es/contacto/
|
104
104
|
|
105
105
|
|
106
106
|
<b>All languages prefixed</b>
|
@@ -112,7 +112,7 @@ In case you want the default languages to be scoped resulting in the following s
|
|
112
112
|
/en/products/
|
113
113
|
/es/productos/
|
114
114
|
/en/contact/
|
115
|
-
/es/
|
115
|
+
/es/contacto/
|
116
116
|
|
117
117
|
You can specify the following option:
|
118
118
|
|
@@ -143,7 +143,7 @@ In case you don't want the language prefix in the url path because you have a do
|
|
143
143
|
/products/
|
144
144
|
/productos/
|
145
145
|
/contact/
|
146
|
-
/
|
146
|
+
/contacto/
|
147
147
|
|
148
148
|
You can specify the following option:
|
149
149
|
|
@@ -153,12 +153,7 @@ Note that the 'no_prefixes' option will override the 'prefix_on_default_locale'
|
|
153
153
|
|
154
154
|
<b>Namespaced backends</b>
|
155
155
|
|
156
|
-
I usually build app backend in namespaced controllers, routes, ... using
|
157
|
-
|
158
|
-
/en/admin/products
|
159
|
-
/es/admin/productos
|
160
|
-
|
161
|
-
In most cases you won't want to have the backend in several languages, you can set 'routes.rb' this way:
|
156
|
+
I usually build app backend in namespaced controllers, routes, ... using translated routes will result in duplicated routes or prefixed ones. In most cases you won't want to have the backend in several languages, you can set 'routes.rb' this way:
|
162
157
|
|
163
158
|
SampleApp::Application.routes.draw do
|
164
159
|
resources :products
|
@@ -174,6 +169,16 @@ In most cases you won't want to have the backend in several languages, you can s
|
|
174
169
|
end
|
175
170
|
end
|
176
171
|
|
172
|
+
== Testing
|
173
|
+
|
174
|
+
Once your app is locale-aware, the routes are dependent on the locale. This means that in functional tests, you need to explicitly include the locale like so:
|
175
|
+
|
176
|
+
get :show, :id => 1, :locale => 'en'
|
177
|
+
|
178
|
+
But in case you would prefer the locale to be implicit or simply because you don't want to add the locale param to all your previous functional tests, you can require the 'lib/controller_test_helper' file (typically from your test helper file) and then this will work fine:
|
179
|
+
|
180
|
+
get :show, :id => 1
|
181
|
+
|
177
182
|
== TODO
|
178
183
|
|
179
184
|
Help is welcome ;)
|
@@ -213,4 +218,4 @@ There are other two projects for translating routes in Rails (which I know of),
|
|
213
218
|
|
214
219
|
== Other i18n related projects
|
215
220
|
|
216
|
-
If you also need to translate models check out: https://github.com/francesc/rails-translate-models
|
221
|
+
If you also need to translate models check out: https://github.com/francesc/rails-translate-models
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# This monkey patch injects the locale in the controller's params
|
2
|
+
# Reason: ActionController::TestCase doesn't support "default_url_options"
|
3
|
+
#
|
4
|
+
# Example: when the request you are testing needs the locale, e.g.
|
5
|
+
# get :show, :id => 1, :locale => 'en'
|
6
|
+
#
|
7
|
+
# if the monkey patch was loaded, you can just do:
|
8
|
+
# get :show, :id => 1
|
9
|
+
|
10
|
+
class ActionController::TestCase
|
11
|
+
|
12
|
+
module Behavior
|
13
|
+
def process_with_default_locale(action, parameters = nil, session = nil, flash = nil, http_method = 'GET')
|
14
|
+
parameters = { :locale => I18n.default_locale }.merge(parameters || {} )
|
15
|
+
process_without_default_locale(action, parameters, session, flash, http_method)
|
16
|
+
end
|
17
|
+
alias_method_chain :process, :default_locale
|
18
|
+
end
|
19
|
+
end
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "rails-translate-routes"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.3"
|
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"]
|
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
"README.rdoc",
|
25
25
|
"Rakefile",
|
26
26
|
"VERSION",
|
27
|
+
"lib/controller_test_helper.rb",
|
27
28
|
"lib/rails-translate-routes.rb",
|
28
29
|
"rails-translate-routes.gemspec",
|
29
30
|
"test/helper.rb",
|
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.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-01-19 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70338562849500 !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: *
|
24
|
+
version_requirements: *70338562849500
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &70338562848820 !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: *
|
35
|
+
version_requirements: *70338562848820
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: jeweler
|
38
|
-
requirement: &
|
38
|
+
requirement: &70338562848100 !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: *
|
46
|
+
version_requirements: *70338562848100
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: sqlite3
|
49
|
-
requirement: &
|
49
|
+
requirement: &70338562847340 !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: *
|
57
|
+
version_requirements: *70338562847340
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: minitest
|
60
|
-
requirement: &
|
60
|
+
requirement: &70338562844740 !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: *
|
68
|
+
version_requirements: *70338562844740
|
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: []
|
@@ -81,6 +81,7 @@ files:
|
|
81
81
|
- README.rdoc
|
82
82
|
- Rakefile
|
83
83
|
- VERSION
|
84
|
+
- lib/controller_test_helper.rb
|
84
85
|
- lib/rails-translate-routes.rb
|
85
86
|
- rails-translate-routes.gemspec
|
86
87
|
- test/helper.rb
|
@@ -100,7 +101,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
100
101
|
version: '0'
|
101
102
|
segments:
|
102
103
|
- 0
|
103
|
-
hash:
|
104
|
+
hash: 958290384052730761
|
104
105
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
106
|
none: false
|
106
107
|
requirements:
|