ledermann-rails-settings 2.1.0 → 2.2.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: be934fefff4c87ca3858e881e4c094e256af5381
4
- data.tar.gz: f13141fd1154045b71a0bd332288309a916ceba9
3
+ metadata.gz: 52c95388606a87927fda30bf3da02f2d530f6143
4
+ data.tar.gz: e21c14935226687e5d01676e48108629f8df6b81
5
5
  SHA512:
6
- metadata.gz: b8b17fd4dd288c307233a26f1ae2c29aee029fc77fee738545c59e3f1fc6906a182786d737b894d89581d774ed62274db7b55f24ec6f21b828116b31e79a04d6
7
- data.tar.gz: 171041cbb7fb74001ac6bfb756bb3819fbd31a03adfc1696998afb4f6194d849ea547077a4c59779dea04225833f08e69a2f1cad19bf63e218ca698a5aab76fa
6
+ metadata.gz: 4e7143ee981010ad0c9123bd0348742c9cb4833a750d1c50c88af32ab16bc2a847cf41543cd777118b08c56a8e483372ec003a030c670e5a49cd771505a221e6
7
+ data.tar.gz: be08c695d558779710887e971f7aa41575b62480813687e0273c15b60641d5f1a6a21eaafee663755874542010b9676d88e311052f41e6d2a0536136749d1548
data/.travis.yml CHANGED
@@ -3,9 +3,9 @@ rvm:
3
3
  - 1.9.3
4
4
  - 2.0.0
5
5
  gemfile:
6
- - ci/Gemfile.rails-3.1.x
7
- - ci/Gemfile.rails-3.2.x
8
- - ci/Gemfile.rails-4.0.x
6
+ - ci/Gemfile-rails-3-1
7
+ - ci/Gemfile-rails-3-2
8
+ - ci/Gemfile-rails-4-0
9
9
  env:
10
10
  - DB=sqlite
11
11
  - DB=mysql
data/Changelog.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## Version 2.2.0 (2013-11-29)
4
+
5
+ - Added RailsSettings::Base#to_settings_hash (thanks to @mguymon)
6
+
7
+
3
8
  ## Version 2.1.0 (2013-09-13)
4
9
 
5
10
  - Support for Rails 4
data/README.md CHANGED
@@ -102,7 +102,7 @@ User.without_settings_for(:calendar)
102
102
 
103
103
  ## Installation
104
104
 
105
- Include the gem in your Gemfile und run `bundle` to install it:
105
+ Include the gem in your Gemfile and run `bundle` to install it:
106
106
 
107
107
  ```ruby
108
108
  gem 'ledermann-rails-settings', :require => 'rails-settings'
@@ -1,4 +1,4 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'activerecord', '~> 3.1.0'
4
4
  gem 'sqlite3', '~> 1.3'
@@ -1,4 +1,4 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'activerecord', '~> 3.2.0'
4
4
  gem 'sqlite3', '~> 1.3'
@@ -1,4 +1,4 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'activerecord', '~> 4.0.0'
4
4
  gem 'sqlite3', '~> 1.3'
@@ -34,6 +34,14 @@ module RailsSettings
34
34
  settings(var).value.present?
35
35
  end
36
36
  end
37
+
38
+ def to_settings_hash
39
+ settings_hash = self.class.default_settings
40
+ settings_hash.each do |var, vals|
41
+ settings_hash[var] = settings_hash[var].merge(settings(var.to_sym).value)
42
+ end
43
+ settings_hash
44
+ end
37
45
  end
38
46
  end
39
47
  end
@@ -1,3 +1,3 @@
1
1
  module RailsSettings
2
- VERSION = '2.1.0'
2
+ VERSION = '2.2.0'
3
3
  end
@@ -204,3 +204,21 @@ describe "Customized SettingObject" do
204
204
  project.settings(:info).should be_valid
205
205
  end
206
206
  end
207
+
208
+ describe "to_settings_hash" do
209
+ let(:user) do
210
+ User.new :name => 'Mrs. Fin' do |user|
211
+ user.settings(:dashboard).theme = 'green'
212
+ user.settings(:dashboard).sound = 11
213
+ user.settings(:calendar).scope = 'some'
214
+ end
215
+ end
216
+
217
+ it "should return defaults" do
218
+ User.new.to_settings_hash.should == {:dashboard=>{"theme"=>"blue", "view"=>"monthly", "filter"=>true}, :calendar=>{"scope"=>"company"}}
219
+ end
220
+
221
+ it "should return merged settings" do
222
+ user.to_settings_hash.should == {:dashboard=>{"theme"=>"green", "view"=>"monthly", "filter"=>true, "sound" => 11}, :calendar=>{"scope"=>"some"}}
223
+ end
224
+ end
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ledermann-rails-settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Georg Ledermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-13 00:00:00.000000000 Z
11
+ date: 2013-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sqlite3
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mysql2
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: Settings gem for Ruby on Rails
@@ -87,16 +87,16 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
- - .gitignore
91
- - .travis.yml
90
+ - ".gitignore"
91
+ - ".travis.yml"
92
92
  - Changelog.md
93
93
  - Gemfile
94
94
  - MIT-LICENSE
95
95
  - README.md
96
96
  - Rakefile
97
- - ci/Gemfile.rails-3.1.x
98
- - ci/Gemfile.rails-3.2.x
99
- - ci/Gemfile.rails-4.0.x
97
+ - ci/Gemfile-rails-3-1
98
+ - ci/Gemfile-rails-3-2
99
+ - ci/Gemfile-rails-4-0
100
100
  - lib/generators/rails_settings/migration/migration_generator.rb
101
101
  - lib/generators/rails_settings/migration/templates/migration.rb
102
102
  - lib/rails-settings.rb
@@ -125,17 +125,17 @@ require_paths:
125
125
  - lib
126
126
  required_ruby_version: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - '>='
128
+ - - ">="
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0'
131
131
  required_rubygems_version: !ruby/object:Gem::Requirement
132
132
  requirements:
133
- - - '>='
133
+ - - ">="
134
134
  - !ruby/object:Gem::Version
135
135
  version: '0'
136
136
  requirements: []
137
137
  rubyforge_project:
138
- rubygems_version: 2.1.3
138
+ rubygems_version: 2.0.14
139
139
  signing_key:
140
140
  specification_version: 4
141
141
  summary: Ruby gem to handle settings for ActiveRecord instances by storing them as