roda-i18n 0.3.0 → 0.4.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
  SHA1:
3
- metadata.gz: 7c49e1ba809caf572d5d75f55cbe48bedf855f80
4
- data.tar.gz: eb86ad5e8c25b9c152ae1a4c56d7cbcfac084f46
3
+ metadata.gz: 9c2738c4186efd7bb356272c3fad656bd1a79237
4
+ data.tar.gz: 72a1cb79f9dbc234b12411d58e7801e935933a7e
5
5
  SHA512:
6
- metadata.gz: 5d31eee8bb80bc0e147e8b94901c1be53b32c6684eb9471156e4841e3f6cbeff8234e3258f569093e26fa3276606d4d99eecbfd7d3656f7f91fa45c75ea20038
7
- data.tar.gz: d9351ab146c07cd61a0c29f5b234966f5b18deeaf55aecafe7d1018e53f503a6efe54f3b002e2af74a3c24442e5f4affef48015c68b6f9d5986924a179951878
6
+ metadata.gz: 941708ff91f4da8c9da9d03e2dafe545d1845e9e679d0e66d249408832c8aa3ecd53dbc2dbde3b56e756b5c2091eeb0e0eb529a305154fb0857f4b8972ab6b6d
7
+ data.tar.gz: 4781db341bd8d1fa1154dcc68d0ca45b56f7ccb76a9a4b3be103e066a26ea521472ff7af9a7e5515bed4d11e4d0e64de0812be79d89f77a9baca7597488590b7
@@ -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
- [![Build Status](https://travis-ci.org/kematzy/roda-i18n.svg?branch=master)](https://travis-ci.org/kematzy/roda-i18n)
3
+ [![Gem Version](https://badge.fury.io/rb/roda-i18n.svg)](https://badge.fury.io/rb/roda-i18n) [![Build Status](https://travis-ci.org/kematzy/roda-i18n.svg?branch=master)](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.
@@ -1,7 +1,7 @@
1
1
  class Roda
2
2
 
3
3
  module I18n
4
- VERSION = '0.3.0'
4
+ VERSION = '0.4.0'
5
5
  end
6
6
 
7
7
  end
@@ -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
@@ -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', '~> 2.5', '>= 2.5.0'
35
+ spec.add_runtime_dependency 'roda', '~> 3.7'
36
36
  spec.add_runtime_dependency 'tilt'
37
- spec.add_runtime_dependency 'r18n-core', '~> 2.0', '>= 2.1.4'
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', "~> 10.0"
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.6.3'
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.3.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: 2016-08-11 00:00:00.000000000 Z
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: '2.5'
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: '2.5'
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: '2.0'
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: '2.0'
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: '10.0'
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: '10.0'
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.6.3
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.6.3
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.1
255
+ rubygems_version: 2.5.2
282
256
  signing_key:
283
257
  specification_version: 4
284
258
  summary: Roda Internationalisation plugin