rails-settings-cached 0.3.2 → 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: daf5a00211e61520780dfc7d4338b0bfdfc78c8d
4
- data.tar.gz: b1838dd8e967045fdc6f607e0e9187bb2ee07827
3
+ metadata.gz: 40794840901a71892c30090b1fd7b18c32a7f722
4
+ data.tar.gz: 6f673ba78ea6ac61cda0d006e2f582882e58c4d4
5
5
  SHA512:
6
- metadata.gz: 67be845df66559b6167107af09b374a317661cf6e8a21529583afe4992f1797355c34900f0b72bf987644e6d3f7bfd2142c4253a073208e24935f53ade8e7530
7
- data.tar.gz: 1a24510a42e87e3e3f33152e5a6a3f71ac9a08f1df6be853e42b622bf358acfdc17123a1ba443c6d5f8e54080552e13b6b3c2ca31039ca0ea2af449eb3d38780
6
+ metadata.gz: 7f8b6d47cdcf304ef4fb587d9b2613f11583ccd398511cf91c52388bf03941f4db5e3abe3f5b7ebe469618a2075a85c57f3faac6eb7e27405eb7c7ee8cc24243
7
+ data.tar.gz: 78c71f7ef47f0784adc9149af44305af41fe71ca8a4a3abb065a87c8cc2a1445fc3f276b1632a58a6cbfcb0fbe15583bc9993e831d4f3eba00c8e868c67da086
data/README.md CHANGED
@@ -17,6 +17,8 @@ arrays, or any object. Ported to Rails 3!
17
17
  Edit your Gemfile:
18
18
 
19
19
  ```ruby
20
+ # Rails 4.1.x
21
+ gem "rails-settings-cached", "0.4.0"
20
22
  # Rails 4+
21
23
  gem "rails-settings-cached", "0.3.1"
22
24
  # Rails 3.x
@@ -84,17 +86,17 @@ Setting.foo # returns nil
84
86
  Want a list of all the settings?
85
87
 
86
88
  ```ruby
87
- Setting.all
89
+ Setting.get_all
88
90
  # returns {'admin_password' => 'super_secret', 'date_format' => '%m %d, %Y'}
89
91
  ```
90
92
 
91
- You need name spaces and want a list of settings for a give name space? Just choose your prefered named space delimiter and use Setting.all like this:
93
+ You need name spaces and want a list of settings for a give name space? Just choose your prefered named space delimiter and use Setting.get_all like this:
92
94
 
93
95
  ```ruby
94
96
  Setting['preferences.color'] = :blue
95
97
  Setting['preferences.size'] = :large
96
98
  Setting['license.key'] = 'ABC-DEF'
97
- Setting.all('preferences.')
99
+ Setting.get_all('preferences.')
98
100
  # returns { 'preferences.color' => :blue, 'preferences.size' => :large }
99
101
  ```
100
102
 
@@ -135,7 +137,7 @@ Then you can set/get a setting for a given user instance just by doing this:
135
137
  user = User.find(123)
136
138
  user.settings.color = :red
137
139
  user.settings.color # returns :red
138
- user.settings.all # { "color" => :red }
140
+ user.settings.get_all # { "color" => :red }
139
141
  ```
140
142
 
141
143
  I you want to find users having or not having some settings, there are named scopes for this:
@@ -148,10 +150,30 @@ User.with_settings_for('color')
148
150
  # => returns a scope of users having a 'color' setting
149
151
 
150
152
  User.without_settings
151
- # returns a scope of users having no setting at all (means user.settings.all == {})
153
+ # returns a scope of users having no setting at all (means user.settings.get_all == {})
152
154
 
153
155
  User.without_settings('color')
154
156
  # returns a scope of users having no 'color' setting (means user.settings.color == nil)
155
157
  ```
156
158
 
159
+ -----
160
+
161
+ ## How to create a list, form to manage Settings?
162
+
163
+ If you want create an admin interface to editing the Settings, you can try methods in follow:
164
+
165
+ ```ruby
166
+ class SettingsController < ApplicationController
167
+ def index
168
+ # to get all items for render list
169
+ @settings = Setting.unscoped
170
+ end
171
+
172
+ def edit
173
+ @setting = Setting.unscoped.find(params[:id])
174
+ end
175
+ end
176
+ ```
177
+
178
+
157
179
  That's all there is to it! Enjoy!
@@ -32,8 +32,9 @@ module RailsSettings
32
32
  #destroy the specified settings record
33
33
  def self.destroy(var_name)
34
34
  var_name = var_name.to_s
35
- if self.all.key?(var_name)
36
- object(var_name).destroy
35
+ obj = object(var_name)
36
+ unless obj.nil?
37
+ obj.destroy
37
38
  true
38
39
  else
39
40
  raise SettingNotFound, "Setting variable \"#{var_name}\" not found"
@@ -41,7 +42,7 @@ module RailsSettings
41
42
  end
42
43
 
43
44
  #retrieve all settings as a hash (optionally starting with a given namespace)
44
- def self.all(starting_with = nil)
45
+ def self.get_all(starting_with = nil)
45
46
  vars = thing_scoped.select("var,value")
46
47
  if starting_with
47
48
  vars = vars.where("var LIKE '#{starting_with}%'")
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.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Squeegy
@@ -11,20 +11,20 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-10-27 00:00:00.000000000 Z
14
+ date: 2014-03-07 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - '>='
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
22
  version: 4.0.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - '>='
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: 4.0.0
30
30
  description:
@@ -33,15 +33,15 @@ executables: []
33
33
  extensions: []
34
34
  extra_rdoc_files: []
35
35
  files:
36
+ - README.md
36
37
  - lib/generators/settings/settings_generator.rb
37
38
  - lib/generators/settings/templates/migration.rb
38
39
  - lib/generators/settings/templates/model.rb
40
+ - lib/rails-settings-cached.rb
39
41
  - lib/rails-settings/cached_settings.rb
40
42
  - lib/rails-settings/extend.rb
41
43
  - lib/rails-settings/scoped_settings.rb
42
44
  - lib/rails-settings/settings.rb
43
- - lib/rails-settings-cached.rb
44
- - README.md
45
45
  homepage: https://github.com/huacnlee/rails-settings-cached
46
46
  licenses: []
47
47
  metadata: {}
@@ -51,17 +51,17 @@ require_paths:
51
51
  - lib
52
52
  required_ruby_version: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - '>='
54
+ - - ">="
55
55
  - !ruby/object:Gem::Version
56
56
  version: '0'
57
57
  required_rubygems_version: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  requirements: []
63
63
  rubyforge_project:
64
- rubygems_version: 2.0.3
64
+ rubygems_version: 2.2.2
65
65
  signing_key:
66
66
  specification_version: 4
67
67
  summary: This is imporved from rails-settings, added caching. Settings is a plugin
@@ -71,4 +71,3 @@ summary: This is imporved from rails-settings, added caching. Settings is a plug
71
71
  into your rails app. You can store any kind of object. Strings, numbers, arrays,
72
72
  or any object. Ported to Rails 3!
73
73
  test_files: []
74
- has_rdoc: