route_translator 8.0.0 → 8.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3d4b8e7e2caf751b79880c5798d2d2572f97785421d51eb44100498b9bc242f7
4
- data.tar.gz: 0b3ec104b2ce65767306a5a9407aa011e12ebdf5c7567d9b158730be010896bc
3
+ metadata.gz: 580ad3a9bbfc1e8dffbc91065e78742331817785df3588381a26366164077f74
4
+ data.tar.gz: 5c4b9f4303af246b42db421d85e59b7a9100ca680b88d857a1551da2f148bb62
5
5
  SHA512:
6
- metadata.gz: 3a82c507227121a3a084da6677c020f2f491c1997cf5d685f720e03435df6fb4b121b212b2e9abb93a27f3aa084882eabace774ae9cd80c9a8febf4b4574d347
7
- data.tar.gz: a974a9f997cdf34cc5e8c359673454356bef88213e318aab3b8e83ac0d7e4af0cf1ee82637f7105c8d740a2c298fb92f4ed3d47c50b2fb296c2485c78343b004
6
+ metadata.gz: 20c6af6178eb2a280e41eb7ad7581e2fd70c89b46b119f7de6f27e7627f06b7a67facd8fe068f349b6b4f695a752f3885deef418c984c75b25923c336767411f
7
+ data.tar.gz: 0a44a9bec9161a5b00880ec1d669f2bbf87b9c2e78f4e40cd8e70014b24dd4d17d04d28c987fa478ddaf150c287548c1ab5061619b6d2077ea473bab7707abad
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 8.1.0 / 2020-08-10
4
+
5
+ * [FEATURE] Allow Ruby 3.0.0
6
+ * [ENHANCEMENT] Test against latest Ruby versions
7
+ * [ENHANCEMENT] Update development dependencies
8
+
3
9
  ## 8.0.0 / 2020-04-17
4
10
 
5
11
  * [FEATURE] Drop Ruby 2.3 support
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # RouteTranslator
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/route_translator.svg)](https://badge.fury.io/rb/route_translator)
4
+ [![SemVer](https://api.dependabot.com/badges/compatibility_score?dependency-name=route_translator&package-manager=bundler&version-scheme=semver)](https://dependabot.com/compatibility-score.html?dependency-name=route_translator&package-manager=bundler&version-scheme=semver)
4
5
  [![Build Status](https://travis-ci.org/enriclluelles/route_translator.svg?branch=master)](https://travis-ci.org/enriclluelles/route_translator)
5
6
  [![Maintainability](https://api.codeclimate.com/v1/badges/1c369ce6147724b353fc/maintainability)](https://codeclimate.com/github/enriclluelles/route_translator/maintainability)
6
7
  [![Coverage Status](https://coveralls.io/repos/github/enriclluelles/route_translator/badge.svg?branch=master)](https://coveralls.io/github/enriclluelles/route_translator?branch=master)
@@ -144,6 +145,21 @@ Right now it works with Rails 5.x and Rails 6.0
144
145
  Note: you might be tempted to use `before_action` instead of `around_action`: just don't. That could lead to [thread-related issues](https://github.com/enriclluelles/route_translator/issues/44).
145
146
 
146
147
 
148
+ ### Changing the Language
149
+
150
+ To change the language and reload the appropriate route while staying on the same page, use the following code snippet:
151
+
152
+ ```ruby
153
+ link_to url_for(locale: 'es'), hreflang: 'es', rel: 'alternate'
154
+ ```
155
+
156
+ Although locales are stored by Rails as a symbol (`:es`), when linking to a page in a different locale you need to use a string (`'es'`). Otherwise, instead of a namespaced route (`/es/my-route`) you will get a parameterized route (`/my-route?locale=es`).
157
+
158
+ If the page contains a localized slug, the above snippet does not work and a custom implementation is neede.
159
+
160
+ More information at [Generating translated URLs](https://github.com/enriclluelles/route_translator/wiki/Generating-translated-URLs)
161
+
162
+
147
163
  ### Namespaces
148
164
 
149
165
  You can translate a namespace route by either its `name` or `path` option:
@@ -11,7 +11,7 @@ module ActionDispatch
11
11
  @localized = false
12
12
  end
13
13
 
14
- # rubocop:disable Lint/UnderscorePrefixedVariableName
14
+ # rubocop:disable Lint/UnderscorePrefixedVariableName, Metrics/PerceivedComplexity
15
15
  def add_route(action, controller, options, _path, to, via, formatted, anchor, options_constraints) # :nodoc:
16
16
  return super unless @localized
17
17
 
@@ -40,7 +40,7 @@ module ActionDispatch
40
40
  mapping = Mapping.build(@scope, @set, ast, controller, default_action, to, via, formatted, options_constraints, anchor, options)
41
41
  @set.add_localized_route(mapping, ast, as, anchor, @scope, path, controller, default_action, to, via, formatted, options_constraints, options)
42
42
  end
43
- # rubocop:enable Lint/UnderscorePrefixedVariableName
43
+ # rubocop:enable Lint/UnderscorePrefixedVariableName, Metrics/PerceivedComplexity
44
44
 
45
45
  private
46
46
 
@@ -12,7 +12,7 @@ module RouteTranslator
12
12
  end
13
13
 
14
14
  def native_locale?(locale)
15
- locale.to_s.match(/native_/).present?
15
+ locale.to_s.include?('native_')
16
16
  end
17
17
 
18
18
  def native_locales
@@ -24,10 +24,10 @@ module RouteTranslator
24
24
  handler = proc { |exception| exception }
25
25
  opts = { locale: locale, scope: scope }
26
26
 
27
- if I18n.translate(str, **opts.merge(exception_handler: handler)).is_a?(I18n::MissingTranslation)
28
- I18n.translate str, **opts.merge(fallback_options(str, locale))
27
+ if I18n.t(str, **opts.merge(exception_handler: handler)).is_a?(I18n::MissingTranslation)
28
+ I18n.t str, **opts.merge(fallback_options(str, locale))
29
29
  else
30
- I18n.translate str, **opts
30
+ I18n.t str, **opts
31
31
  end
32
32
  end
33
33
 
@@ -51,12 +51,12 @@ module RouteTranslator
51
51
  def translate(segment, locale, scope)
52
52
  return segment if segment.empty?
53
53
 
54
- if segment.starts_with?(':')
54
+ if segment.start_with?(':')
55
55
  named_param, hyphenized = segment.split('-', 2)
56
56
  return "#{named_param}-#{translate(hyphenized, locale, scope)}" if hyphenized
57
57
  end
58
58
 
59
- return segment if segment.starts_with?('(', '*') || segment.include?(':')
59
+ return segment if segment.start_with?('(', '*') || segment.include?(':')
60
60
 
61
61
  appended_part = segment.slice!(/(\()$/)
62
62
  str = translatable_segment(segment)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RouteTranslator
4
- VERSION = '8.0.0'
4
+ VERSION = '8.1.0'
5
5
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: route_translator
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.0
4
+ version: 8.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geremia Taglialatela
8
8
  - Enric Lluelles
9
9
  - Raul Murciano
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-04-17 00:00:00.000000000 Z
13
+ date: 2020-10-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: actionpack
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.2'
75
+ version: '2.3'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '2.2'
82
+ version: '2.3'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: byebug
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -106,14 +106,14 @@ dependencies:
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: 0.15.1
109
+ version: 0.18.0
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: 0.15.1
116
+ version: 0.18.0
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: minitest
119
119
  requirement: !ruby/object:Gem::Requirement
@@ -168,56 +168,62 @@ dependencies:
168
168
  requirements:
169
169
  - - "~>"
170
170
  - !ruby/object:Gem::Version
171
- version: 0.82.0
171
+ version: 0.93.0
172
172
  type: :development
173
173
  prerelease: false
174
174
  version_requirements: !ruby/object:Gem::Requirement
175
175
  requirements:
176
176
  - - "~>"
177
177
  - !ruby/object:Gem::Version
178
- version: 0.82.0
178
+ version: 0.93.0
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: rubocop-performance
181
181
  requirement: !ruby/object:Gem::Requirement
182
182
  requirements:
183
183
  - - "~>"
184
184
  - !ruby/object:Gem::Version
185
- version: '1.5'
185
+ version: '1.8'
186
186
  type: :development
187
187
  prerelease: false
188
188
  version_requirements: !ruby/object:Gem::Requirement
189
189
  requirements:
190
190
  - - "~>"
191
191
  - !ruby/object:Gem::Version
192
- version: '1.5'
192
+ version: '1.8'
193
193
  - !ruby/object:Gem::Dependency
194
194
  name: rubocop-rails
195
195
  requirement: !ruby/object:Gem::Requirement
196
196
  requirements:
197
197
  - - "~>"
198
198
  - !ruby/object:Gem::Version
199
- version: '2.5'
199
+ version: '2.8'
200
200
  type: :development
201
201
  prerelease: false
202
202
  version_requirements: !ruby/object:Gem::Requirement
203
203
  requirements:
204
204
  - - "~>"
205
205
  - !ruby/object:Gem::Version
206
- version: '2.5'
206
+ version: '2.8'
207
207
  - !ruby/object:Gem::Dependency
208
208
  name: simplecov
209
209
  requirement: !ruby/object:Gem::Requirement
210
210
  requirements:
211
- - - "~>"
211
+ - - ">="
212
212
  - !ruby/object:Gem::Version
213
213
  version: 0.18.5
214
+ - - "<"
215
+ - !ruby/object:Gem::Version
216
+ version: '0.20'
214
217
  type: :development
215
218
  prerelease: false
216
219
  version_requirements: !ruby/object:Gem::Requirement
217
220
  requirements:
218
- - - "~>"
221
+ - - ">="
219
222
  - !ruby/object:Gem::Version
220
223
  version: 0.18.5
224
+ - - "<"
225
+ - !ruby/object:Gem::Version
226
+ version: '0.20'
221
227
  description: Translates the Rails routes of your application into the languages defined
222
228
  in your locale files
223
229
  email:
@@ -252,13 +258,13 @@ metadata:
252
258
  bug_tracker_uri: https://github.com/enriclluelles/route_translator/issues
253
259
  changelog_uri: https://github.com/enriclluelles/route_translator/blob/master/CHANGELOG.md
254
260
  source_code_uri: https://github.com/enriclluelles/route_translator
255
- post_install_message:
261
+ post_install_message:
256
262
  rdoc_options: []
257
263
  require_paths:
258
264
  - lib
259
265
  required_ruby_version: !ruby/object:Gem::Requirement
260
266
  requirements:
261
- - - "~>"
267
+ - - ">="
262
268
  - !ruby/object:Gem::Version
263
269
  version: '2.4'
264
270
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -267,8 +273,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
267
273
  - !ruby/object:Gem::Version
268
274
  version: '0'
269
275
  requirements: []
270
- rubygems_version: 3.1.2
271
- signing_key:
276
+ rubygems_version: 3.1.4
277
+ signing_key:
272
278
  specification_version: 4
273
279
  summary: Translate your Rails routes in a simple manner
274
280
  test_files: []