route_translator 8.0.0 → 8.1.0

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 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: []