devise-track_locale 0.2.0 → 1.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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db7291a96c9fa19229b50d62d6abaa6a0dcb55f3
|
4
|
+
data.tar.gz: f2ee7e4b6df4bd653e75d8cbd1354288b96d9a65
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a1a1e03598f363b77869e4b716119adb1900c9a28d0545d6ef03b88f2159f9d126b402158e2e69096dfb9b4b6640cf09b40b43d7487d985dd9a6f0ce051e78d
|
7
|
+
data.tar.gz: 84725fced06151d722d66d113f8644686a2451dd5b3d71afe885288cad89e93f861bddb0133df6d514a27780bd89d1aeb7b8a2b021db2eee72f27ac3fd3cae4f
|
data/README.md
CHANGED
@@ -17,6 +17,15 @@ gem "devise-track_locale"
|
|
17
17
|
Usage
|
18
18
|
-----
|
19
19
|
|
20
|
+
Add a `locale` attribute to your users:
|
21
|
+
|
22
|
+
```sh
|
23
|
+
$ rails g migration AddLocaleToUsers locale
|
24
|
+
$ rake db:migrate
|
25
|
+
```
|
26
|
+
|
27
|
+
### Save the locale on every sign-in
|
28
|
+
|
20
29
|
In your model, add `:track_locale` as a devise module:
|
21
30
|
|
22
31
|
```rb
|
@@ -25,11 +34,14 @@ class User < ActiveRecord::Base
|
|
25
34
|
end
|
26
35
|
```
|
27
36
|
|
28
|
-
|
37
|
+
### Save the locale only once
|
29
38
|
|
30
|
-
|
31
|
-
|
32
|
-
|
39
|
+
In your model, add `:track_default_locale` as a devise module:
|
40
|
+
|
41
|
+
```rb
|
42
|
+
class User < ActiveRecord::Base
|
43
|
+
devise …, :track_default_locale
|
44
|
+
end
|
33
45
|
```
|
34
46
|
|
35
47
|
Copyright
|
data/lib/devise/track_locale.rb
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
require 'devise'
|
2
2
|
|
3
3
|
Devise.add_module :track_locale, model: true
|
4
|
+
Devise.add_module :track_default_locale, model: true
|
4
5
|
|
5
6
|
Warden::Manager.after_set_user do |record, *|
|
6
7
|
record.set_locale! if record.respond_to?(:set_locale!)
|
7
8
|
end
|
9
|
+
|
10
|
+
Warden::Manager.after_set_user do |record, *|
|
11
|
+
record.set_default_locale! if record.respond_to?(:set_default_locale!)
|
12
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Devise::Models::TrackDefaultLocale do
|
4
|
+
class MockModel
|
5
|
+
include Devise::Models::TrackDefaultLocale
|
6
|
+
end
|
7
|
+
|
8
|
+
describe "#set_default_locale!" do
|
9
|
+
let(:model) { MockModel.new }
|
10
|
+
before do
|
11
|
+
allow(model).to receive(:update_column)
|
12
|
+
allow(model).to receive(:locale) { locale }
|
13
|
+
end
|
14
|
+
|
15
|
+
context "with no locale" do
|
16
|
+
let(:locale) { nil }
|
17
|
+
|
18
|
+
it "saves the new locale on the model" do
|
19
|
+
I18n.with_locale(:fr) do
|
20
|
+
model.set_default_locale!
|
21
|
+
end
|
22
|
+
|
23
|
+
expect(model).to have_received(:update_column).with(:locale, "fr")
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
context "with a locale already set" do
|
28
|
+
let(:locale) { "en" }
|
29
|
+
|
30
|
+
it "does not change the model" do
|
31
|
+
I18n.with_locale(:fr) do
|
32
|
+
model.set_default_locale!
|
33
|
+
end
|
34
|
+
|
35
|
+
expect(model).not_to have_received(:update_column)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devise-track_locale
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sunny Ripert
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: devise
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rails
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
description: ''
|
42
56
|
email:
|
43
57
|
- sunny@sunfox.org
|
@@ -49,9 +63,11 @@ files:
|
|
49
63
|
- README.md
|
50
64
|
- Rakefile
|
51
65
|
- lib/devise-track_locale.rb
|
66
|
+
- lib/devise/models/track_default_locale.rb
|
52
67
|
- lib/devise/models/track_locale.rb
|
53
68
|
- lib/devise/track_locale.rb
|
54
69
|
- lib/devise/track_locale/version.rb
|
70
|
+
- spec/models/track_default_locale_spec.rb
|
55
71
|
- spec/models/track_locale_spec.rb
|
56
72
|
- spec/spec_helper.rb
|
57
73
|
homepage: http://github.com/sunny/devise-track_locale
|
@@ -78,5 +94,6 @@ signing_key:
|
|
78
94
|
specification_version: 4
|
79
95
|
summary: Track a user's last locale with Devise.
|
80
96
|
test_files:
|
97
|
+
- spec/models/track_default_locale_spec.rb
|
81
98
|
- spec/models/track_locale_spec.rb
|
82
99
|
- spec/spec_helper.rb
|