ledermann-rails-settings 2.4.0 → 2.4.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 +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +21 -5
- data/MIT-LICENSE +1 -1
- data/README.md +10 -4
- data/ci/Gemfile-rails-3-1 +1 -0
- data/ci/Gemfile-rails-3-2 +2 -1
- data/ci/Gemfile-rails-4-0 +1 -0
- data/ci/Gemfile-rails-4-1 +1 -0
- data/ci/Gemfile-rails-4-2 +1 -0
- data/ci/Gemfile-rails-5-0 +7 -0
- data/lib/rails-settings/scopes.rb +7 -2
- data/lib/rails-settings/version.rb +1 -1
- data/rails-settings.gemspec +4 -0
- data/spec/settings_spec.rb +7 -0
- data/spec/spec_helper.rb +15 -0
- metadata +35 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56218461e173338b8cd2b34d67ba7e0a311520f0
|
4
|
+
data.tar.gz: e71e1f8c6b46649cc3bbf5f3579aa464aa780fa1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd0f3484d470061f28df5a448163a72da41deecdb9d539ff5ef43002fc5c740333d87736c7e48463dd14d66f9086e5194f4e95027b084102bdcaad1cf63f84c1
|
7
|
+
data.tar.gz: 27ba22de825494fd3757558692260837a0bbb79e4b954fb30a2f23a8d11d2f7704bf56d4f1b2af293e9c0c3eb726ade13d3941dc3655b8a0ae946550c5e843c5
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -2,22 +2,38 @@ language: ruby
|
|
2
2
|
rvm:
|
3
3
|
- 1.9.3
|
4
4
|
- 2.0.0
|
5
|
-
- 2.1.
|
6
|
-
- 2.2.
|
5
|
+
- 2.1.8
|
6
|
+
- 2.2.4
|
7
|
+
- 2.3.0
|
7
8
|
gemfile:
|
8
9
|
- ci/Gemfile-rails-3-1
|
9
10
|
- ci/Gemfile-rails-3-2
|
10
11
|
- ci/Gemfile-rails-4-0
|
11
12
|
- ci/Gemfile-rails-4-1
|
12
13
|
- ci/Gemfile-rails-4-2
|
14
|
+
- ci/Gemfile-rails-5-0
|
13
15
|
matrix:
|
14
16
|
include:
|
15
|
-
- rvm: 2.2.
|
17
|
+
- rvm: 2.2.4
|
18
|
+
gemfile: ci/Gemfile-rails-4-2
|
19
|
+
env: PROTECTED_ATTRIBUTES=true
|
20
|
+
- rvm: 2.3.0
|
16
21
|
gemfile: ci/Gemfile-rails-4-2
|
17
22
|
env: PROTECTED_ATTRIBUTES=true
|
18
23
|
exclude:
|
19
|
-
- rvm:
|
24
|
+
- rvm: 1.9.3
|
25
|
+
gemfile: ci/Gemfile-rails-5-0
|
26
|
+
- rvm: 2.0.0
|
27
|
+
gemfile: ci/Gemfile-rails-5-0
|
28
|
+
- rvm: 2.1.8
|
29
|
+
gemfile: ci/Gemfile-rails-5-0
|
30
|
+
- rvm: 2.2.4
|
20
31
|
gemfile: ci/Gemfile-rails-3-1
|
21
|
-
- rvm: 2.
|
32
|
+
- rvm: 2.3.0
|
33
|
+
gemfile: ci/Gemfile-rails-3-1
|
34
|
+
- rvm: 2.2.4
|
35
|
+
gemfile: ci/Gemfile-rails-3-2
|
36
|
+
- rvm: 2.3.0
|
22
37
|
gemfile: ci/Gemfile-rails-3-2
|
23
38
|
before_install: gem update bundler
|
39
|
+
sudo: false
|
data/MIT-LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
# Settings for Rails
|
2
2
|
|
3
|
-
[](https://travis-ci.org/ledermann/rails-settings)
|
4
|
+
[](https://codeclimate.com/github/ledermann/rails-settings)
|
5
|
+
[](https://coveralls.io/r/ledermann/rails-settings?branch=master)
|
5
6
|
|
6
7
|
Ruby gem to handle settings for ActiveRecord instances by storing them as serialized Hash in a separate database table. Namespaces and defaults included.
|
7
8
|
|
8
9
|
## Requirements
|
9
10
|
|
10
11
|
* Ruby 1.9.3 or newer
|
11
|
-
* Rails 3.1 or
|
12
|
+
* Rails 3.1 or newer (including Rails 4.x and Rails 5)
|
12
13
|
|
13
14
|
|
14
15
|
## Installation
|
@@ -123,6 +124,11 @@ User.without_settings_for(:calendar)
|
|
123
124
|
# => all users without having settings for 'calendar'
|
124
125
|
```
|
125
126
|
|
127
|
+
### Eager Loading
|
128
|
+
```ruby
|
129
|
+
User.includes(:setting_objects)
|
130
|
+
# => Eager load setting_objects when querying many users
|
131
|
+
```
|
126
132
|
|
127
133
|
## Compatibility
|
128
134
|
|
@@ -140,6 +146,6 @@ See https://github.com/ledermann/rails-settings/releases
|
|
140
146
|
|
141
147
|
MIT License
|
142
148
|
|
143
|
-
Copyright (c) 2012-
|
149
|
+
Copyright (c) 2012-2016 [Georg Ledermann](http://www.georg-ledermann.de)
|
144
150
|
|
145
151
|
This gem is a complete rewrite of [rails-settings](https://github.com/Squeegy/rails-settings) by [Alex Wayne](https://github.com/Squeegy)
|
data/ci/Gemfile-rails-3-1
CHANGED
data/ci/Gemfile-rails-3-2
CHANGED
data/ci/Gemfile-rails-4-0
CHANGED
data/ci/Gemfile-rails-4-1
CHANGED
data/ci/Gemfile-rails-4-2
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
module RailsSettings
|
2
2
|
module Scopes
|
3
3
|
def with_settings
|
4
|
-
joins("INNER JOIN settings ON #{settings_join_condition}")
|
5
|
-
|
4
|
+
result = joins("INNER JOIN settings ON #{settings_join_condition}")
|
5
|
+
|
6
|
+
if ActiveRecord::VERSION::MAJOR < 5
|
7
|
+
result.uniq
|
8
|
+
else
|
9
|
+
result.distinct
|
10
|
+
end
|
6
11
|
end
|
7
12
|
|
8
13
|
def with_settings_for(var)
|
data/rails-settings.gemspec
CHANGED
@@ -6,11 +6,13 @@ require 'rails-settings/version'
|
|
6
6
|
Gem::Specification.new do |gem|
|
7
7
|
gem.name = 'ledermann-rails-settings'
|
8
8
|
gem.version = RailsSettings::VERSION
|
9
|
+
gem.licenses = ['MIT']
|
9
10
|
gem.authors = ['Georg Ledermann']
|
10
11
|
gem.email = ['mail@georg-ledermann.de']
|
11
12
|
gem.description = %q{Settings gem for Ruby on Rails}
|
12
13
|
gem.summary = %q{Ruby gem to handle settings for ActiveRecord instances by storing them as serialized Hash in a separate database table. Namespaces and defaults included.}
|
13
14
|
gem.homepage = 'https://github.com/ledermann/rails-settings'
|
15
|
+
gem.required_ruby_version = '>= 1.9.3'
|
14
16
|
|
15
17
|
gem.files = `git ls-files`.split($/)
|
16
18
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
@@ -22,4 +24,6 @@ Gem::Specification.new do |gem|
|
|
22
24
|
gem.add_development_dependency 'rake'
|
23
25
|
gem.add_development_dependency 'sqlite3'
|
24
26
|
gem.add_development_dependency 'rspec'
|
27
|
+
gem.add_development_dependency 'coveralls'
|
28
|
+
gem.add_development_dependency 'simplecov', '~> 0.11.0'
|
25
29
|
end
|
data/spec/settings_spec.rb
CHANGED
@@ -203,6 +203,13 @@ describe "Object with settings" do
|
|
203
203
|
|
204
204
|
expect(user.settings?).to eq(false)
|
205
205
|
end
|
206
|
+
|
207
|
+
it "should raise exception on assigning other than nil" do
|
208
|
+
expect {
|
209
|
+
user.settings = :foo
|
210
|
+
user.save!
|
211
|
+
}.to raise_error(ArgumentError)
|
212
|
+
end
|
206
213
|
end
|
207
214
|
|
208
215
|
describe "Customized SettingObject" do
|
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
require 'coveralls'
|
3
|
+
|
4
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
|
5
|
+
SimpleCov::Formatter::HTMLFormatter,
|
6
|
+
Coveralls::SimpleCov::Formatter
|
7
|
+
])
|
8
|
+
SimpleCov.start do
|
9
|
+
add_filter '/spec/'
|
10
|
+
end
|
11
|
+
|
1
12
|
# Requires supporting ruby files with custom matchers and macros, etc,
|
2
13
|
# in spec/support/ and its subdirectories.
|
3
14
|
Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
|
@@ -18,6 +29,10 @@ RSpec.configure do |config|
|
|
18
29
|
config.before(:each) do
|
19
30
|
clear_db
|
20
31
|
end
|
32
|
+
|
33
|
+
config.after :suite do
|
34
|
+
RailsSettingsMigration.migrate(:down)
|
35
|
+
end
|
21
36
|
end
|
22
37
|
|
23
38
|
require 'active_record'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ledermann-rails-settings
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Georg Ledermann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -66,6 +66,34 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: coveralls
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: simplecov
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.11.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.11.0
|
69
97
|
description: Settings gem for Ruby on Rails
|
70
98
|
email:
|
71
99
|
- mail@georg-ledermann.de
|
@@ -84,6 +112,7 @@ files:
|
|
84
112
|
- ci/Gemfile-rails-4-0
|
85
113
|
- ci/Gemfile-rails-4-1
|
86
114
|
- ci/Gemfile-rails-4-2
|
115
|
+
- ci/Gemfile-rails-5-0
|
87
116
|
- lib/generators/rails_settings/migration/migration_generator.rb
|
88
117
|
- lib/generators/rails_settings/migration/templates/migration.rb
|
89
118
|
- lib/ledermann-rails-settings.rb
|
@@ -105,7 +134,8 @@ files:
|
|
105
134
|
- spec/support/matchers/perform_queries.rb
|
106
135
|
- spec/support/query_counter.rb
|
107
136
|
homepage: https://github.com/ledermann/rails-settings
|
108
|
-
licenses:
|
137
|
+
licenses:
|
138
|
+
- MIT
|
109
139
|
metadata: {}
|
110
140
|
post_install_message:
|
111
141
|
rdoc_options: []
|
@@ -115,7 +145,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
115
145
|
requirements:
|
116
146
|
- - ">="
|
117
147
|
- !ruby/object:Gem::Version
|
118
|
-
version:
|
148
|
+
version: 1.9.3
|
119
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
120
150
|
requirements:
|
121
151
|
- - ">="
|
@@ -123,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
153
|
version: '0'
|
124
154
|
requirements: []
|
125
155
|
rubyforge_project:
|
126
|
-
rubygems_version: 2.
|
156
|
+
rubygems_version: 2.6.2
|
127
157
|
signing_key:
|
128
158
|
specification_version: 4
|
129
159
|
summary: Ruby gem to handle settings for ActiveRecord instances by storing them as
|