setler 0.0.13 → 0.0.15

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.
metadata CHANGED
@@ -1,83 +1,138 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: setler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Kelly
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2014-06-26 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activerecord
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - ! '>='
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: 3.0.0
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
- - - ! '>='
23
+ - - ">="
25
24
  - !ruby/object:Gem::Version
26
25
  version: 3.0.0
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: rails
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
- - - ! '>='
30
+ - - ">="
32
31
  - !ruby/object:Gem::Version
33
32
  version: 3.0.0
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
- - - ! '>='
37
+ - - ">="
39
38
  - !ruby/object:Gem::Version
40
39
  version: 3.0.0
41
40
  - !ruby/object:Gem::Dependency
42
- name: sqlite3
41
+ name: rake
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
- - - ! '>='
44
+ - - ">="
46
45
  - !ruby/object:Gem::Version
47
46
  version: '0'
48
47
  type: :development
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
- - - ! '>='
51
+ - - ">="
53
52
  - !ruby/object:Gem::Version
54
53
  version: '0'
55
54
  - !ruby/object:Gem::Dependency
56
- name: rake
55
+ name: minitest
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
- - - ! '>='
58
+ - - ">="
60
59
  - !ruby/object:Gem::Version
61
60
  version: '0'
62
61
  type: :development
63
62
  prerelease: false
64
63
  version_requirements: !ruby/object:Gem::Requirement
65
64
  requirements:
66
- - - ! '>='
65
+ - - ">="
67
66
  - !ruby/object:Gem::Version
68
67
  version: '0'
69
68
  - !ruby/object:Gem::Dependency
70
- name: minitest
69
+ name: simplecov
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
- - - ! '>='
72
+ - - ">="
74
73
  - !ruby/object:Gem::Version
75
74
  version: '0'
76
75
  type: :development
77
76
  prerelease: false
78
77
  version_requirements: !ruby/object:Gem::Requirement
79
78
  requirements:
80
- - - ! '>='
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: appraisal
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: rubocop
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.39'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.39'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rubocop-rake
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ - !ruby/object:Gem::Dependency
125
+ name: panolint
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
81
136
  - !ruby/object:Gem::Version
82
137
  version: '0'
83
138
  description: Setler is a Gem that lets one easily implement the "Feature Flags" pattern,
@@ -91,15 +146,35 @@ executables: []
91
146
  extensions: []
92
147
  extra_rdoc_files: []
93
148
  files:
94
- - .gitignore
95
- - .ruby-gemset
96
- - .ruby-version
97
- - .travis.yml
149
+ - ".devcontainer/devcontainer.json"
150
+ - ".github/dependabot.yml"
151
+ - ".github/workflows/lint.yml"
152
+ - ".github/workflows/test.yml"
153
+ - ".gitignore"
154
+ - ".markdownlint.json"
155
+ - ".rubocop.yml"
156
+ - ".ruby-gemset"
157
+ - ".ruby-version"
158
+ - ".yamllint.yml"
159
+ - AGENTS.md
160
+ - Appraisals
98
161
  - Gemfile
99
162
  - MIT-LICENSE
100
- - README.rdoc
163
+ - README.md
101
164
  - Rakefile
102
165
  - contributors.txt
166
+ - gemfiles/rails_4.gemfile
167
+ - gemfiles/rails_4.gemfile.lock
168
+ - gemfiles/rails_5.gemfile
169
+ - gemfiles/rails_5.gemfile.lock
170
+ - gemfiles/rails_6.gemfile
171
+ - gemfiles/rails_6.gemfile.lock
172
+ - gemfiles/rails_7.gemfile
173
+ - gemfiles/rails_7.gemfile.lock
174
+ - gemfiles/rails_8.gemfile
175
+ - gemfiles/rails_8.gemfile.lock
176
+ - gemfiles/rails_edge.gemfile
177
+ - gemfiles/rails_edge.gemfile.lock
103
178
  - lib/generators/setler/setler_generator.rb
104
179
  - lib/generators/setler/templates/migration.rb
105
180
  - lib/generators/setler/templates/model.rb
@@ -113,28 +188,26 @@ files:
113
188
  - test/settings_test.rb
114
189
  - test/test_helper.rb
115
190
  homepage: https://github.com/ckdake/setler
116
- licenses: []
117
- metadata: {}
118
- post_install_message:
191
+ licenses:
192
+ - MIT
193
+ metadata:
194
+ supported_ruby_requirements: "~> 2.6, >= 2.6.10, ~> 2.7, >= 2.7.8, ~> 3.0, ~> 3.1,
195
+ ~> 3.2, ~> 3.3, ~> 3.4, >= 3.5.0.pre, < 3.6"
119
196
  rdoc_options: []
120
197
  require_paths:
121
198
  - lib
122
199
  required_ruby_version: !ruby/object:Gem::Requirement
123
200
  requirements:
124
- - - ! '>='
201
+ - - ">="
125
202
  - !ruby/object:Gem::Version
126
- version: '0'
203
+ version: 2.6.10
127
204
  required_rubygems_version: !ruby/object:Gem::Requirement
128
205
  requirements:
129
- - - ! '>='
206
+ - - ">="
130
207
  - !ruby/object:Gem::Version
131
208
  version: '0'
132
209
  requirements: []
133
- rubyforge_project: setler
134
- rubygems_version: 2.2.2
135
- signing_key:
210
+ rubygems_version: 3.6.9
136
211
  specification_version: 4
137
212
  summary: Settler lets you use the 'Feature Flags' pettern or add settings to models.
138
- test_files:
139
- - test/settings_test.rb
140
- - test/test_helper.rb
213
+ test_files: []
data/.travis.yml DELETED
@@ -1,8 +0,0 @@
1
- rvm:
2
- - 1.9.3
3
- - 2.1.2
4
- cache: bundler
5
- script:
6
- - bundle exec rake test
7
- notifications:
8
- email: false
data/README.rdoc DELETED
@@ -1,81 +0,0 @@
1
- = Setler
2
-
3
- Setler is a Gem that lets one easily implement the "Feature Flags" pattern, or add settings to individual models. This is a cleanroom implementation of what the 'rails-settings' gem does. It's been forked all over the place, and my favorite version of it doesn't have any tests and doesn't work with settings associated with models.
4
-
5
- {<img src="https://travis-ci.org/ckdake/setler.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/ckdake/setler]
6
-
7
- == Setup
8
-
9
- Install the gem by adding this to your Gemfile:
10
-
11
- gem "setler"
12
-
13
- Generate the model:
14
-
15
- rails g setler <model_name>
16
-
17
- Run the migration:
18
-
19
- rake db:migrate
20
-
21
- If you are using the `protected_attributes` gem you must add `attr_protected` to the top of you setler model.
22
-
23
- == Usage
24
-
25
- Create/Update settings:
26
-
27
- # Method calls and []= are synonymous
28
- Featureflags.bacon_dispenser_enabled = true
29
- Settings[:allowed_meats] = ['bacon', 'crunchy bacon']
30
-
31
- Read settings:
32
-
33
- Featureflags.bacon_dispenser_enabled # true
34
- Settings[:allowed_meats].include?('bacon') # true
35
-
36
- Destroy them:
37
-
38
- Featureflags.destroy :bacon_dispenser_enabled
39
- Settings.destroy :allowed_meats
40
-
41
- List all settings:
42
-
43
- Featureflags.all_settings
44
- Settings.all_settings
45
-
46
- Set defaults in an initializer with something like:
47
-
48
- Featureflags.defaults[:bacon_dispenser_enabled] = false
49
- Settings.defaults[:allowed_meats] = ['itsnotbacon']
50
-
51
- To revert to the default after changing a setting, destroy it.
52
- Note: Updating the setting to nil or false no longer makes it the default setting (> 0.0.6), but changes the setting to nil or false.
53
-
54
- Add them to any ActiveRecord object:
55
-
56
- class User < ActiveRecord::Base
57
- has_setler :settings
58
- end
59
-
60
- Then you get:
61
-
62
- user = User.first
63
- user.settings.favorite_meat = :bacon
64
- user.settings.favorite_meat # :bacon
65
- user.settings.all # { "favorite_meat" => :bacon }
66
-
67
- TODO: And look em up:
68
-
69
- User.with_settings_for('favorite_meat') # => scope of users with the favorite_meat setting
70
-
71
- == Gem Development
72
-
73
- Getting started is pretty straightforward:
74
-
75
- 1. Check out the code: `git clone git://github.com/ckdake/setler.git`
76
- 2. Bundle install: `bundle install`
77
- 3. Run the tests and make sure they all pass and code coverage is still 100%: `rake test`
78
-
79
- If you'd like to contribute code, make your changes and submit a pull request that includes appropriate tests
80
-
81
- For building the gem: `rake build` and to release a gem to github and Rubygems: `rake release`