rack-locale_memorable 0.3.0 → 0.3.1

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: b56451d07060a802f688db0f338178fa1c8d2ed9f1ea5bafd1ec120e0e241fae
4
- data.tar.gz: 6d98f588efe1eb3d14a13ff989600fc67f1e3ae84ccc99e641206398b27c5589
3
+ metadata.gz: fd5bd6d13a8a85a10053362a85a1d5c3530348fadadb5f871f9990e40e36d59b
4
+ data.tar.gz: 6f9c459b2527f17fc153c43bd3d71b9ecfb5c6ae60402e142ecc0da8bde1afa2
5
5
  SHA512:
6
- metadata.gz: 4a2cdb7a55ff2d53fbf951fa11c31e2e8fd056c762f9dda3c22799e90b3fe3e32dd667534e6f069bf471a3185eb16a873bd054848f65d7aba626dbdc6c94dfdc
7
- data.tar.gz: b945b0c1f8398a9bb3ac3c9e97ff9e303af47e35fe5a5d271a1af7bef304e8e15730c961b9c30c9dd83d4b1af2c0aa0e8e52f876ec59fba8e12548b1b20604ff
6
+ metadata.gz: 9ed6cc8acbfbe09b475fc80c90f155102f25916a28f279e7efadc28e2660a5fce8cd7896727c4b819906097009886112d10df9e7e807eefb1ffa10e798d2c1d2
7
+ data.tar.gz: f8304fa8aa3ed7b6f0fa102935828f5eeec3d0cae20bbd0bc8e5d10bc8fba3f37edbdd7879bfdc7f416f39ba8f43c08f2f242fa088661edf52e0b1c2afd6f595
data/CHANGELOG.md CHANGED
@@ -1,5 +1,6 @@
1
1
  ## [Unreleased]
2
2
 
3
- ## [0.1.0] - 2022-09-28
3
+ ## [0.3.0] - 2022-09-28
4
4
 
5
- - Initial release
5
+ - First stable release.
6
+ - Older versions are buggy, DO NOT USE THEM.
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # Rack::LocaleMemorable
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/rack/locale_memorable`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
3
+ Handle query params, cookie and HTTP_ACCEPT_LANGUAGE header to detect user-preffered locale, and remember it when necessary.
6
4
 
7
5
  ## Installation
8
6
 
@@ -16,7 +14,27 @@ If bundler is not being used to manage dependencies, install the gem by executin
16
14
 
17
15
  ## Usage
18
16
 
19
- TODO: Write usage instructions here
17
+ ```ruby
18
+ # in initializers/middlewares.rb etc.
19
+ Rails.application.configure do |config|
20
+ config.middleware.use(
21
+ Rack::LocaleMemorable,
22
+ secure_cookie: Rails.env.production?
23
+ )
24
+ end
25
+ ```
26
+
27
+ NOTE: If you're using devise, set `Rack::LocaleMemorable` before `Warden::Manager`, otherwise you see warden error messages in wrong locale.
28
+
29
+ ```ruby
30
+ Rails.application.configure do |config|
31
+ config.middleware.insert_before(
32
+ Warden::Manager,
33
+ Rack::LocaleMemorable,
34
+ secure_cookie: Rails.env.production?
35
+ )
36
+ end
37
+ ```
20
38
 
21
39
  ## Development
22
40
 
@@ -3,8 +3,8 @@
3
3
  module Rack
4
4
  class LocaleMemorable
5
5
  class Response < Rack::Response
6
- def remember_locale(explicit_locale, secure_cookie:, cookie_expiry:)
7
- set_cookie 'locale', {
6
+ def remember_locale(explicit_locale, secure_cookie:, cookie_expiry:, cookie_key:)
7
+ set_cookie cookie_key, {
8
8
  value: explicit_locale,
9
9
  expires: cookie_expiry,
10
10
  http_only: true,
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Rack
4
4
  class LocaleMemorable
5
- VERSION = '0.3.0'
5
+ VERSION = '0.3.1'
6
6
  end
7
7
  end
@@ -24,7 +24,8 @@ 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_expiry: @cookie_expiry,
28
+ cookie_key: @cookie_key
28
29
  )
29
30
  end
30
31
  response.finish
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.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - nov