route_translator 14.1.2 → 15.0.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: 6b83ad5a7f021e3075faab30ba9b41a666ac151d57f0d8bd6d8656f3c16d451a
4
- data.tar.gz: e00dd5992f16425a6b85e84cd6d1781d7ab6aaa700b3fe2892fd197af5210460
3
+ metadata.gz: 5a393716835c2c542d7f158782dcf1dcbaf163185bb4a1f85ff1be5507accbbf
4
+ data.tar.gz: 9ea86dcbebec6a9cea19b280da5a821cfccd6951e5d4c5b79ca43582053c8869
5
5
  SHA512:
6
- metadata.gz: 9ac6359f07f206dd559fda1bb5e56ef3ceb22bda5c9f973449cd7963a6a14d9604ca94d87e31fd29cb926bafe54c5b825f8ed378e7f2d363433671d7e4e6b8af
7
- data.tar.gz: 27c0b19f09b9c6835aafaf14ded61499b7f1c9f0821d753c6ace7ca228e154f2f8e04cafd22fb0060debe7e65cf25b57827ae5bc1cf99f8fc1c16995a88b16af
6
+ metadata.gz: b1fe1869d56070ea8de79618f8c6cd8fe5e6360b6be50637ac94ac9a13db13d6ce44f807a4745b4973cef5126049b1d7314d2c46401d7aa6af1d081cb63c9f84
7
+ data.tar.gz: d91df79e0dabed0f438757b364e467d85c1d1691c324e9098b5c1446805e6735a594e5d425d48345c47dcdb01f6438a30358a09a52195de93a46c425b5ccc944
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 15.0.0 / 2025-06-12
4
+
5
+ * [FEATURE] Drop Ruby < 3.1 support
6
+ * [BUGFIX] POTENTIAL BREAKING CHANGE: Route helper locale parameters now work without host_locales configuration ([#329](https://github.com/enriclluelles/route_translator/pull/329))
7
+
8
+ ## 14.2.0 / 2024-11-08
9
+
10
+ * [FEATURE] Rails 8.0 compatibility
11
+
3
12
  ## 14.1.2 / 2024-05-27
4
13
 
5
14
  * [ENHANCEMENT] Test against Ruby 3.3
data/README.md CHANGED
@@ -9,7 +9,7 @@ RouteTranslator is a gem to allow you to manage the translations of your app rou
9
9
 
10
10
  It started as a fork of the awesome [translate_routes](https://github.com/raul/translate_routes) plugin by [Raúl Murciano](https://github.com/raul).
11
11
 
12
- Right now it works with Rails 6.1 and 7.x
12
+ Right now it works with Rails 6.1, 7.x, and 8.0
13
13
 
14
14
  ## Quick Start
15
15
 
@@ -275,7 +275,7 @@ end
275
275
  | `generate_unlocalized_routes` | Add translated routes without deleting original unlocalized versions. **Note:** Autosets `force_locale` to `true` | `false` |
276
276
  | `generate_unnamed_unlocalized_routes` | Add the behavior of `force_locale`, but with a named default route which behaves as if `generate_unlocalized_routes` was `true`. `root_path` will redirect to `/en` or `/es`, depending on the value of `I18n.locale` | `false` |
277
277
  | `hide_locale` | Force the locale to be hidden on generated route paths | `false` |
278
- | `host_locales` | Set `I18n.locale` based on `request.host`. Useful for apps accepting requests from more than one domain. See below for more details | `{}` |
278
+ | `host_locales` | Set `I18n.locale` based on `request.host`. Useful for apps accepting requests from more than one domain. The key is a host pattern (supports wildcards for domains, subdomains, and TLDs), and the value is the locale symbol or string to use. See below for more details and examples. | `{}` |
279
279
  | `locale_param_key` | The param key used to set the locale to the newly generated routes | `:locale` |
280
280
  | `locale_segment_proc` | The locale segment of the url will by default be `locale.to_s.downcase`. You can supply your own mechanism via a Proc that takes `locale` as an argument, e.g. `->(locale) { locale.to_s.upcase }` | `false` |
281
281
 
@@ -31,7 +31,10 @@ RouteTranslator.config do |config|
31
31
  # config.hide_locale = false
32
32
 
33
33
  # Set `I18n.locale` based on `request.host`. Useful for apps accepting
34
- # requests from more than one domain. See Readme for more details
34
+ # requests from more than one domain. This option expects a hash where each
35
+ # key is a host pattern (as a String, supporting `*` wildcards for subdomains
36
+ # or TLDs), and each value is a locale (as a Symbol or String).
37
+ # See the README for more details.
35
38
  # config.host_locales = {}
36
39
 
37
40
  # The param key used to set the locale to the newly generated routes
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'route_translator/extensions/mapper'
4
- require 'route_translator/extensions/route_set'
5
- require 'route_translator/extensions/action_controller'
3
+ require_relative 'extensions/mapper'
4
+ require_relative 'extensions/route_set'
5
+ require_relative 'extensions/action_controller'
@@ -24,8 +24,8 @@ module RouteTranslator
24
24
  handler = proc { |exception| exception }
25
25
  opts = { locale: locale, scope: scope }
26
26
 
27
- if I18n.t(str, **opts.merge(exception_handler: handler)).is_a?(I18n::MissingTranslation)
28
- I18n.t! str, **opts.merge(fallback_options(str, locale))
27
+ if I18n.t(str, **opts, exception_handler: handler).is_a?(I18n::MissingTranslation)
28
+ I18n.t! str, **opts, **fallback_options(str, locale)
29
29
  else
30
30
  I18n.t str, **opts
31
31
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'route_translator/translator/path/segment'
3
+ require_relative 'path/segment'
4
4
 
5
5
  module RouteTranslator
6
6
  module Translator
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'route_translator/translator/route_helpers'
4
- require 'route_translator/translator/path'
5
- require 'route_translator/route'
3
+ require_relative 'translator/route_helpers'
4
+ require_relative 'translator/path'
5
+ require_relative 'route'
6
6
 
7
7
  module RouteTranslator
8
8
  module Translator
@@ -10,8 +10,6 @@ module RouteTranslator
10
10
  private
11
11
 
12
12
  def locale_from_args(args)
13
- return if RouteTranslator.config.host_locales.blank?
14
-
15
13
  args_hash = args.find { |arg| arg.is_a?(Hash) }
16
14
  args_hash&.fetch(:locale, nil)
17
15
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RouteTranslator
4
- VERSION = '14.1.2'
4
+ VERSION = '15.0.0'
5
5
  end
@@ -2,15 +2,15 @@
2
2
 
3
3
  require 'active_support'
4
4
 
5
- require 'route_translator/extensions'
6
- require 'route_translator/translator'
7
- require 'route_translator/host'
8
- require 'route_translator/version'
5
+ require_relative 'route_translator/extensions'
6
+ require_relative 'route_translator/translator'
7
+ require_relative 'route_translator/host'
8
+ require_relative 'route_translator/version'
9
9
 
10
10
  module RouteTranslator
11
11
  extend RouteTranslator::Host
12
12
 
13
- TRANSLATABLE_SEGMENT = /^([-_a-zA-Z0-9]+)(\()?/.freeze
13
+ TRANSLATABLE_SEGMENT = /^([-_a-zA-Z0-9]+)(\()?/
14
14
 
15
15
  DEFAULT_CONFIGURATION = {
16
16
  available_locales: [],
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: route_translator
3
3
  version: !ruby/object:Gem::Version
4
- version: 14.1.2
4
+ version: 15.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geremia Taglialatela
8
8
  - Enric Lluelles
9
9
  - Raul Murciano
10
- autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2024-05-27 00:00:00.000000000 Z
12
+ date: 1980-01-02 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: actionpack
@@ -19,9 +18,6 @@ dependencies:
19
18
  - - ">="
20
19
  - !ruby/object:Gem::Version
21
20
  version: '6.1'
22
- - - "<"
23
- - !ruby/object:Gem::Version
24
- version: '8.0'
25
21
  type: :runtime
26
22
  prerelease: false
27
23
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,9 +25,6 @@ dependencies:
29
25
  - - ">="
30
26
  - !ruby/object:Gem::Version
31
27
  version: '6.1'
32
- - - "<"
33
- - !ruby/object:Gem::Version
34
- version: '8.0'
35
28
  - !ruby/object:Gem::Dependency
36
29
  name: activesupport
37
30
  requirement: !ruby/object:Gem::Requirement
@@ -39,9 +32,6 @@ dependencies:
39
32
  - - ">="
40
33
  - !ruby/object:Gem::Version
41
34
  version: '6.1'
42
- - - "<"
43
- - !ruby/object:Gem::Version
44
- version: '8.0'
45
35
  type: :runtime
46
36
  prerelease: false
47
37
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,9 +39,6 @@ dependencies:
49
39
  - - ">="
50
40
  - !ruby/object:Gem::Version
51
41
  version: '6.1'
52
- - - "<"
53
- - !ruby/object:Gem::Version
54
- version: '8.0'
55
42
  description: Translates the Rails routes of your application into the languages defined
56
43
  in your locale files
57
44
  email:
@@ -87,7 +74,6 @@ metadata:
87
74
  bug_tracker_uri: https://github.com/enriclluelles/route_translator/issues
88
75
  changelog_uri: https://github.com/enriclluelles/route_translator/blob/master/CHANGELOG.md
89
76
  source_code_uri: https://github.com/enriclluelles/route_translator
90
- post_install_message:
91
77
  rdoc_options: []
92
78
  require_paths:
93
79
  - lib
@@ -95,15 +81,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
95
81
  requirements:
96
82
  - - ">="
97
83
  - !ruby/object:Gem::Version
98
- version: '2.7'
84
+ version: '3.1'
99
85
  required_rubygems_version: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - ">="
102
88
  - !ruby/object:Gem::Version
103
89
  version: '0'
104
90
  requirements: []
105
- rubygems_version: 3.5.9
106
- signing_key:
91
+ rubygems_version: 3.6.7
107
92
  specification_version: 4
108
93
  summary: Translate your Rails routes in a simple manner
109
94
  test_files: []