roda-i18n 0.3.0 → 0.4.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 +4 -4
- data/CHANGELOG.md +53 -0
- data/README.md +2 -1
- data/lib/roda/i18n/version.rb +1 -1
- data/lib/roda/plugins/i18n.rb +3 -3
- data/roda-i18n.gemspec +4 -5
- metadata +11 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c2738c4186efd7bb356272c3fad656bd1a79237
|
4
|
+
data.tar.gz: 72a1cb79f9dbc234b12411d58e7801e935933a7e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 941708ff91f4da8c9da9d03e2dafe545d1845e9e679d0e66d249408832c8aa3ecd53dbc2dbde3b56e756b5c2091eeb0e0eb529a305154fb0857f4b8972ab6b6d
|
7
|
+
data.tar.gz: 4781db341bd8d1fa1154dcc68d0ca45b56f7ccb76a9a4b3be103e066a26ea521472ff7af9a7e5515bed4d11e4d0e64de0812be79d89f77a9baca7597488590b7
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,59 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
3
|
|
4
|
+
## 0.4.0 (2018-05-08)
|
5
|
+
|
6
|
+
* Merge pull request #4 from adam12/yield-matched-locale - Yield matched locale to block
|
7
|
+
|
8
|
+
> Yield the matched locale to the block, similar to a normal Roda route.
|
9
|
+
|
10
|
+
* Merge pull request #5 from adam12/no-session-setting - Don't set session (BREAKING CHANGE)
|
11
|
+
|
12
|
+
I think setting the session should be done by the user inside the yielded block, using the value yielded from the match in #4, if they want that value to be set in the first place.
|
13
|
+
|
14
|
+
```ruby
|
15
|
+
r.locale do |locale|
|
16
|
+
session[:locale] ||= locale
|
17
|
+
end
|
18
|
+
```
|
19
|
+
|
20
|
+
If we assume that a session exists, this plugin can't be used where there is no session - ie. a Roda app that performs mailing only.
|
21
|
+
|
22
|
+
```ruby
|
23
|
+
class Mailer < Roda
|
24
|
+
plugin :mailer
|
25
|
+
plugin :i18n
|
26
|
+
|
27
|
+
route do |r|
|
28
|
+
r.locale do
|
29
|
+
r.mail "/some-path" {}
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
Mailer.sendmail("/en/some-path") # FAILS! No Rack::Session available
|
35
|
+
```
|
36
|
+
|
37
|
+
This is likely a breaking change for anybody relying on this functionality.
|
38
|
+
|
39
|
+
* Merge pull request #6 from adam12/fix-nil - Cast potentially matched locale to string
|
40
|
+
|
41
|
+
> Without this cast, a `root` block below the `locale` block will never be reached due to an exception of calling `downcase` on `nil`.
|
42
|
+
|
43
|
+
> I didn't add a new spec as moving the `r.root` call to the bottom of the block was enough to trigger the failure.
|
44
|
+
|
45
|
+
* Merge pull request #7 from zaidan/update/roda-3 - Making routes behind #locale block work
|
46
|
+
|
47
|
+
* Fix deprecated use of placeholders in string matchers
|
48
|
+
* Fix missing dependency on `r18n-core` < `2.2.0`
|
49
|
+
* Fix spec failures caused by unexpected order of `available_locales`
|
50
|
+
* Update dependency `roda` to `3.7`
|
51
|
+
* Update development dependency `rack-test` to `1.0`
|
52
|
+
* Update dependency `r18n-core` to `3.0.x`
|
53
|
+
* Update development dependency `rake` to `12.3`
|
54
|
+
* Remove noop check for exception
|
55
|
+
|
56
|
+
|
4
57
|
## 0.3.0 (2016-08-11)
|
5
58
|
|
6
59
|
* Merged PR #3 by @jonduarte - Making routes behind #locale block work
|
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Roda-i18n
|
2
2
|
|
3
|
-
[](https://travis-ci.org/kematzy/roda-i18n)
|
3
|
+
[](https://badge.fury.io/rb/roda-i18n) [](https://travis-ci.org/kematzy/roda-i18n)
|
4
|
+
|
4
5
|
|
5
6
|
Add Internationalisation (i18n) and localisation support to your [Roda](http://roda.jeremyevans.net/)
|
6
7
|
apps, based upon the [R18n](https://github.com/ai/r18n) gem.
|
data/lib/roda/i18n/version.rb
CHANGED
data/lib/roda/plugins/i18n.rb
CHANGED
@@ -272,7 +272,7 @@ class Roda
|
|
272
272
|
# This custom matcher allows us to have other routes below the r.locale .. declaration
|
273
273
|
def _match_available_locales_only
|
274
274
|
lambda do
|
275
|
-
locale = remaining_path.split("/").reject(&:empty?).first
|
275
|
+
locale = remaining_path.split("/").reject(&:empty?).first.to_s
|
276
276
|
if ::R18n.available_locales.map(&:code).map(&:downcase).include?(locale.downcase)
|
277
277
|
@captures.push(locale)
|
278
278
|
@remaining_path = remaining_path.sub("/#{locale}", "")
|
@@ -291,14 +291,14 @@ class Roda
|
|
291
291
|
# t.posts.header # use translations or locales
|
292
292
|
# end
|
293
293
|
# end
|
294
|
+
# r.get(:about) { erb(:about) }
|
294
295
|
# end
|
295
296
|
#
|
296
297
|
def locale(opts = {}, &blk)
|
297
298
|
on(_match_available_locales_only, opts) do |l|
|
298
299
|
loc = l || Roda.opts[:locale]
|
299
|
-
session[:locale] = loc unless session[:locale]
|
300
300
|
::R18n.set(loc)
|
301
|
-
yield if block_given?
|
301
|
+
yield loc if block_given?
|
302
302
|
return # NB!! needed to enable routes below to work
|
303
303
|
end
|
304
304
|
end
|
data/roda-i18n.gemspec
CHANGED
@@ -32,19 +32,18 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.extra_rdoc_files = ['README.md', "MIT-LICENSE"]
|
33
33
|
spec.rdoc_options += ['--quiet', '--line-numbers', '--inline-source', '--title', 'Roda-i18n: internationalisation plugin', '--main', 'README.md']
|
34
34
|
|
35
|
-
spec.add_runtime_dependency 'roda', '~>
|
35
|
+
spec.add_runtime_dependency 'roda', '~> 3.7'
|
36
36
|
spec.add_runtime_dependency 'tilt'
|
37
|
-
spec.add_runtime_dependency 'r18n-core', '~>
|
37
|
+
spec.add_runtime_dependency 'r18n-core', '~> 3.0'
|
38
38
|
|
39
39
|
spec.add_development_dependency 'bundler', "~> 1.10"
|
40
|
-
spec.add_development_dependency 'rake', "~>
|
40
|
+
spec.add_development_dependency 'rake', "~> 12.3"
|
41
41
|
spec.add_development_dependency 'erubis'
|
42
42
|
spec.add_development_dependency 'kramdown'
|
43
43
|
spec.add_development_dependency 'minitest', '~> 5.7', '>= 5.7.0'
|
44
|
-
spec.add_development_dependency 'minitest-assert_errors'
|
45
44
|
spec.add_development_dependency 'minitest-hooks', '~> 1.1', '>= 1.1.0'
|
46
45
|
spec.add_development_dependency 'minitest-rg'
|
47
|
-
spec.add_development_dependency 'rack-test', '~> 0
|
46
|
+
spec.add_development_dependency 'rack-test', '~> 1.0'
|
48
47
|
spec.add_development_dependency 'nokogiri'
|
49
48
|
spec.add_development_dependency 'simplecov'
|
50
49
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roda-i18n
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kematzy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: roda
|
@@ -16,20 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 2.5.0
|
19
|
+
version: '3.7'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
30
|
-
- - ">="
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 2.5.0
|
26
|
+
version: '3.7'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: tilt
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -50,20 +44,14 @@ dependencies:
|
|
50
44
|
requirements:
|
51
45
|
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
54
|
-
- - ">="
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 2.1.4
|
47
|
+
version: '3.0'
|
57
48
|
type: :runtime
|
58
49
|
prerelease: false
|
59
50
|
version_requirements: !ruby/object:Gem::Requirement
|
60
51
|
requirements:
|
61
52
|
- - "~>"
|
62
53
|
- !ruby/object:Gem::Version
|
63
|
-
version: '
|
64
|
-
- - ">="
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: 2.1.4
|
54
|
+
version: '3.0'
|
67
55
|
- !ruby/object:Gem::Dependency
|
68
56
|
name: bundler
|
69
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,14 +72,14 @@ dependencies:
|
|
84
72
|
requirements:
|
85
73
|
- - "~>"
|
86
74
|
- !ruby/object:Gem::Version
|
87
|
-
version: '
|
75
|
+
version: '12.3'
|
88
76
|
type: :development
|
89
77
|
prerelease: false
|
90
78
|
version_requirements: !ruby/object:Gem::Requirement
|
91
79
|
requirements:
|
92
80
|
- - "~>"
|
93
81
|
- !ruby/object:Gem::Version
|
94
|
-
version: '
|
82
|
+
version: '12.3'
|
95
83
|
- !ruby/object:Gem::Dependency
|
96
84
|
name: erubis
|
97
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -140,20 +128,6 @@ dependencies:
|
|
140
128
|
- - ">="
|
141
129
|
- !ruby/object:Gem::Version
|
142
130
|
version: 5.7.0
|
143
|
-
- !ruby/object:Gem::Dependency
|
144
|
-
name: minitest-assert_errors
|
145
|
-
requirement: !ruby/object:Gem::Requirement
|
146
|
-
requirements:
|
147
|
-
- - ">="
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
version: '0'
|
150
|
-
type: :development
|
151
|
-
prerelease: false
|
152
|
-
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
requirements:
|
154
|
-
- - ">="
|
155
|
-
- !ruby/object:Gem::Version
|
156
|
-
version: '0'
|
157
131
|
- !ruby/object:Gem::Dependency
|
158
132
|
name: minitest-hooks
|
159
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -194,14 +168,14 @@ dependencies:
|
|
194
168
|
requirements:
|
195
169
|
- - "~>"
|
196
170
|
- !ruby/object:Gem::Version
|
197
|
-
version: 0
|
171
|
+
version: '1.0'
|
198
172
|
type: :development
|
199
173
|
prerelease: false
|
200
174
|
version_requirements: !ruby/object:Gem::Requirement
|
201
175
|
requirements:
|
202
176
|
- - "~>"
|
203
177
|
- !ruby/object:Gem::Version
|
204
|
-
version: 0
|
178
|
+
version: '1.0'
|
205
179
|
- !ruby/object:Gem::Dependency
|
206
180
|
name: nokogiri
|
207
181
|
requirement: !ruby/object:Gem::Requirement
|
@@ -278,7 +252,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
278
252
|
version: '0'
|
279
253
|
requirements: []
|
280
254
|
rubyforge_project:
|
281
|
-
rubygems_version: 2.5.
|
255
|
+
rubygems_version: 2.5.2
|
282
256
|
signing_key:
|
283
257
|
specification_version: 4
|
284
258
|
summary: Roda Internationalisation plugin
|