rails-settings-cached 0.6.6 → 0.7.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 +5 -5
- data/README.md +17 -0
- data/lib/generators/settings/templates/model.rb +3 -1
- data/lib/rails-settings-cached.rb +0 -1
- data/lib/rails-settings/base.rb +1 -15
- data/lib/rails-settings/default.rb +1 -7
- data/lib/rails-settings/version.rb +1 -1
- metadata +8 -9
- data/lib/rails-settings/cached_settings.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ac720065903da7de8fed10d171d0145ddeabb6b7d7f0a1b6c66f7e497c79ddb1
|
4
|
+
data.tar.gz: 2b20fdde2d824978ef981935b88faf7e3773469bacaa7520dcbcf59376bf0d76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eab7e6fb1eb995cf1d4e548812964ca6ac342e47c2792598f3db835b6611c31b13dd89e8d0973cf545799dbfeb8aa5ef5bed307a0559ee82484a37ff4df01ceb
|
7
|
+
data.tar.gz: 67139f1e6fea2edc490f43fa7a782a245a1b40b82ece38e4bcb479e18752511f2420131add354a48f5140ebf7130bf1ba8af6349336fa483d6e809625f80a7a6
|
data/README.md
CHANGED
@@ -27,10 +27,25 @@ $ rails g settings:install
|
|
27
27
|
|
28
28
|
If you want custom model name:
|
29
29
|
|
30
|
+
```bash
|
31
|
+
$ rails g settings:install
|
32
|
+
```
|
33
|
+
|
34
|
+
Or use a custom name:
|
35
|
+
|
30
36
|
```bash
|
31
37
|
$ rails g settings:install SiteConfig
|
32
38
|
```
|
33
39
|
|
40
|
+
You will get `app/models/setting.rb`
|
41
|
+
|
42
|
+
```rb
|
43
|
+
class Setting < RailsSettings::Base
|
44
|
+
source Rails.root.join("config/app.yml")
|
45
|
+
# cache_prefix { "v1" }
|
46
|
+
end
|
47
|
+
```
|
48
|
+
|
34
49
|
Now just put that migration in the database with:
|
35
50
|
|
36
51
|
```bash
|
@@ -178,6 +193,8 @@ Setting.foo -> Check Cache -> Exist - Write Cache -> Return
|
|
178
193
|
|
179
194
|
## Change cache key
|
180
195
|
|
196
|
+
When `config/app.yml` has changed, you may need change the cache prefix to expires caches.
|
197
|
+
|
181
198
|
```ruby
|
182
199
|
class Setting < RailsSettings::Base
|
183
200
|
cache_prefix { 'you-prefix' }
|
@@ -1,6 +1,5 @@
|
|
1
1
|
require_relative 'rails-settings/settings'
|
2
2
|
require_relative 'rails-settings/base'
|
3
|
-
require_relative 'rails-settings/cached_settings'
|
4
3
|
require_relative 'rails-settings/scoped_settings'
|
5
4
|
require_relative 'rails-settings/default'
|
6
5
|
require_relative 'rails-settings/extend'
|
data/lib/rails-settings/base.rb
CHANGED
@@ -13,18 +13,12 @@ module RailsSettings
|
|
13
13
|
end
|
14
14
|
|
15
15
|
class << self
|
16
|
-
def cache_prefix_by_startup
|
17
|
-
return @cache_prefix_by_startup if defined? @cache_prefix_by_startup
|
18
|
-
return '' unless Default.enabled?
|
19
|
-
@cache_prefix_by_startup = Digest::MD5.hexdigest(Default.instance.to_s)
|
20
|
-
end
|
21
|
-
|
22
16
|
def cache_prefix(&block)
|
23
17
|
@cache_prefix = block
|
24
18
|
end
|
25
19
|
|
26
20
|
def cache_key(var_name, scope_object)
|
27
|
-
scope = [
|
21
|
+
scope = ["rails_settings_cached"]
|
28
22
|
scope << @cache_prefix.call if @cache_prefix
|
29
23
|
scope << "#{scope_object.class.name}-#{scope_object.id}" if scope_object
|
30
24
|
scope << var_name.to_s
|
@@ -45,14 +39,6 @@ module RailsSettings
|
|
45
39
|
Rails.cache.write(cache_key(var_name, @object), value)
|
46
40
|
value
|
47
41
|
end
|
48
|
-
|
49
|
-
def save_default(key, value)
|
50
|
-
Kernel.warn 'DEPRECATION WARNING: RailsSettings save_default is deprecated ' \
|
51
|
-
'and it will removed in 0.7.0. ' \
|
52
|
-
'Please use YAML file for default setting.'
|
53
|
-
return false unless self[key].nil?
|
54
|
-
self[key] = value
|
55
|
-
end
|
56
42
|
end
|
57
43
|
end
|
58
44
|
end
|
@@ -21,18 +21,12 @@ module RailsSettings
|
|
21
21
|
# foo.bar.dar Nested fetch value
|
22
22
|
return instance[key] if instance.key?(key)
|
23
23
|
keys = key.to_s.split('.')
|
24
|
-
|
25
|
-
keys.each do |k|
|
26
|
-
val = val.fetch(k.to_s, nil)
|
27
|
-
break if val.nil?
|
28
|
-
end
|
29
|
-
val
|
24
|
+
instance.dig(*keys)
|
30
25
|
end
|
31
26
|
|
32
27
|
def instance
|
33
28
|
return @instance if defined? @instance
|
34
29
|
@instance = new
|
35
|
-
@instance
|
36
30
|
end
|
37
31
|
end
|
38
32
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-settings-cached
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Lee
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2018-06-13 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
@@ -45,16 +45,16 @@ dependencies:
|
|
45
45
|
name: rubocop
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
47
47
|
requirements:
|
48
|
-
- -
|
48
|
+
- - '='
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version:
|
50
|
+
version: 0.46.0
|
51
51
|
type: :development
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
|
-
- -
|
55
|
+
- - '='
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version:
|
57
|
+
version: 0.46.0
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,7 +115,6 @@ files:
|
|
115
115
|
- lib/generators/settings/templates/model.rb
|
116
116
|
- lib/rails-settings-cached.rb
|
117
117
|
- lib/rails-settings/base.rb
|
118
|
-
- lib/rails-settings/cached_settings.rb
|
119
118
|
- lib/rails-settings/default.rb
|
120
119
|
- lib/rails-settings/extend.rb
|
121
120
|
- lib/rails-settings/railtie.rb
|
@@ -133,7 +132,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
133
132
|
requirements:
|
134
133
|
- - ">="
|
135
134
|
- !ruby/object:Gem::Version
|
136
|
-
version: '2.
|
135
|
+
version: '2.3'
|
137
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
138
137
|
requirements:
|
139
138
|
- - ">="
|
@@ -141,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
141
140
|
version: '0'
|
142
141
|
requirements: []
|
143
142
|
rubyforge_project:
|
144
|
-
rubygems_version: 2.6
|
143
|
+
rubygems_version: 2.7.6
|
145
144
|
signing_key:
|
146
145
|
specification_version: 4
|
147
146
|
summary: Settings plugin for Rails that makes managing a table of global keys.
|
@@ -1,10 +0,0 @@
|
|
1
|
-
module RailsSettings
|
2
|
-
class CachedSettings < Base
|
3
|
-
def self.inherited(subclass)
|
4
|
-
Kernel.warn 'DEPRECATION WARNING: RailsSettings::CachedSettings is deprecated ' \
|
5
|
-
'and it will removed in 0.7.0. ' \
|
6
|
-
'Please use RailsSettings::Base instead.'
|
7
|
-
super(subclass)
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|