rack-locale_memorable 0.3.1 → 0.3.2

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: fd5bd6d13a8a85a10053362a85a1d5c3530348fadadb5f871f9990e40e36d59b
4
- data.tar.gz: 6f9c459b2527f17fc153c43bd3d71b9ecfb5c6ae60402e142ecc0da8bde1afa2
3
+ metadata.gz: 5ccb7d078d2dd4d582f7db663cf0436da123b94e6531f8d6de83a63c1eb03bbd
4
+ data.tar.gz: eb20d6db30ef828dfac9f27843ab9a249308c889835f912e61986d1f08f1edc9
5
5
  SHA512:
6
- metadata.gz: 9ed6cc8acbfbe09b475fc80c90f155102f25916a28f279e7efadc28e2660a5fce8cd7896727c4b819906097009886112d10df9e7e807eefb1ffa10e798d2c1d2
7
- data.tar.gz: f8304fa8aa3ed7b6f0fa102935828f5eeec3d0cae20bbd0bc8e5d10bc8fba3f37edbdd7879bfdc7f416f39ba8f43c08f2f242fa088661edf52e0b1c2afd6f595
6
+ metadata.gz: 5b6212b7c2a58b6f110a22856ac52c8197600ccc9929f229147f8324d6342a15e5472ef45917fe11dfbdd2bf196877fd8b5e26f962cfa9668b95d7622b77cd8d
7
+ data.tar.gz: 6fdd32c5bad90120d759514971c20b2de1330fbc9774bbf218cd91a7781cfffb89f2a29f3da5547452b4ae1cede23d757d6b25ca345429cb7b5f81b6f98f0eae
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.3.2] - 2022-09-28
4
+
5
+ ### Fixed
6
+
7
+ - handle cookie expiry correctly https://github.com/nov/rack-locale_memorable/commit/886fed66da5513a4c0b6408a9ac7685932b0a034
8
+
9
+ ## [0.3.1] - 2022-09-28
10
+
11
+ ### Fixed
12
+
13
+ - fixed cookie key handling when remembering https://github.com/nov/rack-locale_memorable/commit/ab8c87bff449e762daf00dea5cef44d001176141
14
+
3
15
  ## [0.3.0] - 2022-09-28
4
16
 
5
17
  - First stable release.
data/README.md CHANGED
@@ -17,10 +17,7 @@ If bundler is not being used to manage dependencies, install the gem by executin
17
17
  ```ruby
18
18
  # in initializers/middlewares.rb etc.
19
19
  Rails.application.configure do |config|
20
- config.middleware.use(
21
- Rack::LocaleMemorable,
22
- secure_cookie: Rails.env.production?
23
- )
20
+ config.middleware.use Rack::LocaleMemorable
24
21
  end
25
22
  ```
26
23
 
@@ -28,10 +25,34 @@ NOTE: If you're using devise, set `Rack::LocaleMemorable` before `Warden::Manage
28
25
 
29
26
  ```ruby
30
27
  Rails.application.configure do |config|
31
- config.middleware.insert_before(
32
- Warden::Manager,
28
+ config.middleware.insert_before Warden::Manager, Rack::LocaleMemorable
29
+ end
30
+ ```
31
+
32
+ By default, this gem handles
33
+
34
+ * `params['locale']` as explicit locale
35
+ * `cookies['locale']` as remembered locale
36
+ * `headers['HTTP_ACCEPT_LANGUAGE']` as implicit locale
37
+
38
+ and when explicit locale is specified in the request, remember it in cookie.
39
+
40
+ You can customize those values
41
+ * params_key (`'locale'` by default)
42
+ * cookie_key (`'locale'` by default)
43
+ * secure_cookie (`true` by default)
44
+ * cookie_lifetime (`1.year` by default)
45
+
46
+ like below
47
+
48
+ ```ruby
49
+ Rails.application.configure do |config|
50
+ config.middleware.use(
33
51
  Rack::LocaleMemorable,
34
- secure_cookie: Rails.env.production?
52
+ params_key: 'ui_locale',
53
+ cookie_key: 'ui_locale',
54
+ secure_cookie: Rails.env.production?,
55
+ cookie_lifetime: 3.months
35
56
  )
36
57
  end
37
58
  ```
@@ -3,10 +3,10 @@
3
3
  module Rack
4
4
  class LocaleMemorable
5
5
  class Response < Rack::Response
6
- def remember_locale(explicit_locale, secure_cookie:, cookie_expiry:, cookie_key:)
6
+ def remember_locale(explicit_locale, secure_cookie:, cookie_lifetime:, cookie_key:)
7
7
  set_cookie cookie_key, {
8
8
  value: explicit_locale,
9
- expires: cookie_expiry,
9
+ expires: cookie_lifetime.from_now,
10
10
  http_only: true,
11
11
  secure: secure_cookie
12
12
  }
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Rack
4
4
  class LocaleMemorable
5
- VERSION = '0.3.1'
5
+ VERSION = '0.3.2'
6
6
  end
7
7
  end
@@ -7,12 +7,12 @@ require 'rack'
7
7
 
8
8
  module Rack
9
9
  class LocaleMemorable
10
- def initialize(app, params_key: 'locale', cookie_key: 'locale', secure_cookie: true, cookie_expiry: 1.year.from_now)
10
+ def initialize(app, params_key: 'locale', cookie_key: 'locale', secure_cookie: true, cookie_lifetime: 1.year)
11
11
  @app = app
12
12
  @params_key = params_key
13
13
  @cookie_key = cookie_key
14
14
  @secure_cookie = secure_cookie
15
- @cookie_expiry = cookie_expiry
15
+ @cookie_lifetime = cookie_lifetime
16
16
  end
17
17
 
18
18
  def call(env)
@@ -24,7 +24,7 @@ module Rack
24
24
  response.remember_locale(
25
25
  request.explicit_locale,
26
26
  secure_cookie: @secure_cookie,
27
- cookie_expiry: @cookie_expiry,
27
+ cookie_lifetime: @cookie_lifetime,
28
28
  cookie_key: @cookie_key
29
29
  )
30
30
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-locale_memorable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - nov