setler 0.0.14 → 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.
- checksums.yaml +4 -4
- data/.devcontainer/devcontainer.json +35 -0
- data/.github/dependabot.yml +20 -0
- data/.github/workflows/lint.yml +24 -0
- data/.github/workflows/test.yml +92 -0
- data/.markdownlint.json +7 -0
- data/.rubocop.yml +15 -0
- data/.ruby-version +1 -1
- data/.yamllint.yml +11 -0
- data/AGENTS.md +46 -0
- data/Appraisals +23 -5
- data/README.md +160 -0
- data/Rakefile +0 -5
- data/contributors.txt +1 -0
- data/gemfiles/rails_4.gemfile.lock +92 -25
- data/gemfiles/rails_5.gemfile +2 -1
- data/gemfiles/rails_5.gemfile.lock +119 -44
- data/gemfiles/rails_6.gemfile +10 -0
- data/gemfiles/rails_6.gemfile.lock +266 -0
- data/gemfiles/rails_7.gemfile +8 -0
- data/gemfiles/rails_7.gemfile.lock +311 -0
- data/gemfiles/rails_8.gemfile +8 -0
- data/gemfiles/rails_8.gemfile.lock +315 -0
- data/gemfiles/rails_edge.gemfile.lock +320 -0
- data/lib/setler/settings.rb +3 -3
- data/lib/setler/version.rb +1 -1
- data/setler.gemspec +17 -1
- data/test/settings_test.rb +1 -1
- metadata +63 -25
- data/.travis.yml +0 -22
- data/README.rdoc +0 -85
- data/gemfiles/rails_6_edge.gemfile.lock +0 -167
- /data/gemfiles/{rails_6_edge.gemfile → rails_edge.gemfile} +0 -0
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
GIT
|
|
2
|
+
remote: https://github.com/rails/rails
|
|
3
|
+
revision: f73b7f173b3004ec9e920b99dafaaf029887847a
|
|
4
|
+
specs:
|
|
5
|
+
actioncable (8.2.0.alpha)
|
|
6
|
+
actionpack (= 8.2.0.alpha)
|
|
7
|
+
activesupport (= 8.2.0.alpha)
|
|
8
|
+
nio4r (~> 2.0)
|
|
9
|
+
websocket-driver (>= 0.6.1)
|
|
10
|
+
zeitwerk (~> 2.6)
|
|
11
|
+
actionmailbox (8.2.0.alpha)
|
|
12
|
+
actionpack (= 8.2.0.alpha)
|
|
13
|
+
activejob (= 8.2.0.alpha)
|
|
14
|
+
activerecord (= 8.2.0.alpha)
|
|
15
|
+
activestorage (= 8.2.0.alpha)
|
|
16
|
+
activesupport (= 8.2.0.alpha)
|
|
17
|
+
mail (>= 2.8.0)
|
|
18
|
+
actionmailer (8.2.0.alpha)
|
|
19
|
+
actionpack (= 8.2.0.alpha)
|
|
20
|
+
actionview (= 8.2.0.alpha)
|
|
21
|
+
activejob (= 8.2.0.alpha)
|
|
22
|
+
activesupport (= 8.2.0.alpha)
|
|
23
|
+
mail (>= 2.8.0)
|
|
24
|
+
rails-dom-testing (~> 2.2)
|
|
25
|
+
actionpack (8.2.0.alpha)
|
|
26
|
+
actionview (= 8.2.0.alpha)
|
|
27
|
+
activesupport (= 8.2.0.alpha)
|
|
28
|
+
nokogiri (>= 1.8.5)
|
|
29
|
+
rack (>= 2.2.4)
|
|
30
|
+
rack-session (>= 1.0.1)
|
|
31
|
+
rack-test (>= 0.6.3)
|
|
32
|
+
rails-dom-testing (~> 2.2)
|
|
33
|
+
rails-html-sanitizer (~> 1.6)
|
|
34
|
+
useragent (~> 0.16)
|
|
35
|
+
actiontext (8.2.0.alpha)
|
|
36
|
+
action_text-trix (~> 2.1.15)
|
|
37
|
+
actionpack (= 8.2.0.alpha)
|
|
38
|
+
activerecord (= 8.2.0.alpha)
|
|
39
|
+
activestorage (= 8.2.0.alpha)
|
|
40
|
+
activesupport (= 8.2.0.alpha)
|
|
41
|
+
globalid (>= 0.6.0)
|
|
42
|
+
nokogiri (>= 1.8.5)
|
|
43
|
+
actionview (8.2.0.alpha)
|
|
44
|
+
activesupport (= 8.2.0.alpha)
|
|
45
|
+
builder (~> 3.1)
|
|
46
|
+
erubi (~> 1.11)
|
|
47
|
+
rails-dom-testing (~> 2.2)
|
|
48
|
+
rails-html-sanitizer (~> 1.6)
|
|
49
|
+
activejob (8.2.0.alpha)
|
|
50
|
+
activesupport (= 8.2.0.alpha)
|
|
51
|
+
globalid (>= 0.3.6)
|
|
52
|
+
activemodel (8.2.0.alpha)
|
|
53
|
+
activesupport (= 8.2.0.alpha)
|
|
54
|
+
activerecord (8.2.0.alpha)
|
|
55
|
+
activemodel (= 8.2.0.alpha)
|
|
56
|
+
activesupport (= 8.2.0.alpha)
|
|
57
|
+
timeout (>= 0.4.0)
|
|
58
|
+
activestorage (8.2.0.alpha)
|
|
59
|
+
actionpack (= 8.2.0.alpha)
|
|
60
|
+
activejob (= 8.2.0.alpha)
|
|
61
|
+
activerecord (= 8.2.0.alpha)
|
|
62
|
+
activesupport (= 8.2.0.alpha)
|
|
63
|
+
marcel (~> 1.0)
|
|
64
|
+
activesupport (8.2.0.alpha)
|
|
65
|
+
base64
|
|
66
|
+
bigdecimal
|
|
67
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
68
|
+
connection_pool (>= 2.2.5)
|
|
69
|
+
drb
|
|
70
|
+
i18n (>= 1.6, < 2)
|
|
71
|
+
json
|
|
72
|
+
logger (>= 1.4.2)
|
|
73
|
+
minitest (>= 5.1)
|
|
74
|
+
securerandom (>= 0.3)
|
|
75
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
|
76
|
+
uri (>= 0.13.1)
|
|
77
|
+
rails (8.2.0.alpha)
|
|
78
|
+
actioncable (= 8.2.0.alpha)
|
|
79
|
+
actionmailbox (= 8.2.0.alpha)
|
|
80
|
+
actionmailer (= 8.2.0.alpha)
|
|
81
|
+
actionpack (= 8.2.0.alpha)
|
|
82
|
+
actiontext (= 8.2.0.alpha)
|
|
83
|
+
actionview (= 8.2.0.alpha)
|
|
84
|
+
activejob (= 8.2.0.alpha)
|
|
85
|
+
activemodel (= 8.2.0.alpha)
|
|
86
|
+
activerecord (= 8.2.0.alpha)
|
|
87
|
+
activestorage (= 8.2.0.alpha)
|
|
88
|
+
activesupport (= 8.2.0.alpha)
|
|
89
|
+
bundler (>= 1.15.0)
|
|
90
|
+
railties (= 8.2.0.alpha)
|
|
91
|
+
railties (8.2.0.alpha)
|
|
92
|
+
actionpack (= 8.2.0.alpha)
|
|
93
|
+
activesupport (= 8.2.0.alpha)
|
|
94
|
+
irb (~> 1.13)
|
|
95
|
+
rackup (>= 1.0.0)
|
|
96
|
+
rake (>= 12.2)
|
|
97
|
+
thor (~> 1.0, >= 1.2.2)
|
|
98
|
+
tsort (>= 0.2)
|
|
99
|
+
zeitwerk (~> 2.6)
|
|
100
|
+
|
|
101
|
+
PATH
|
|
102
|
+
remote: ..
|
|
103
|
+
specs:
|
|
104
|
+
setler (0.0.15)
|
|
105
|
+
activerecord (>= 3.0.0)
|
|
106
|
+
rails (>= 3.0.0)
|
|
107
|
+
|
|
108
|
+
GEM
|
|
109
|
+
remote: https://rubygems.org/
|
|
110
|
+
specs:
|
|
111
|
+
action_text-trix (2.1.15)
|
|
112
|
+
railties
|
|
113
|
+
appraisal (2.5.0)
|
|
114
|
+
bundler
|
|
115
|
+
rake
|
|
116
|
+
thor (>= 0.14.0)
|
|
117
|
+
ast (2.4.3)
|
|
118
|
+
base64 (0.3.0)
|
|
119
|
+
bigdecimal (3.3.1)
|
|
120
|
+
brakeman (5.4.1)
|
|
121
|
+
builder (3.3.0)
|
|
122
|
+
concurrent-ruby (1.3.5)
|
|
123
|
+
connection_pool (2.5.4)
|
|
124
|
+
crass (1.0.6)
|
|
125
|
+
date (3.4.1)
|
|
126
|
+
docile (1.4.1)
|
|
127
|
+
drb (2.2.3)
|
|
128
|
+
erb (5.1.1)
|
|
129
|
+
erubi (1.13.1)
|
|
130
|
+
globalid (1.3.0)
|
|
131
|
+
activesupport (>= 6.1)
|
|
132
|
+
i18n (1.14.7)
|
|
133
|
+
concurrent-ruby (~> 1.0)
|
|
134
|
+
io-console (0.8.1)
|
|
135
|
+
irb (1.15.2)
|
|
136
|
+
pp (>= 0.6.0)
|
|
137
|
+
rdoc (>= 4.0.0)
|
|
138
|
+
reline (>= 0.4.2)
|
|
139
|
+
json (2.15.1)
|
|
140
|
+
language_server-protocol (3.17.0.5)
|
|
141
|
+
lint_roller (1.1.0)
|
|
142
|
+
logger (1.7.0)
|
|
143
|
+
loofah (2.24.1)
|
|
144
|
+
crass (~> 1.0.2)
|
|
145
|
+
nokogiri (>= 1.12.0)
|
|
146
|
+
mail (2.9.0)
|
|
147
|
+
logger
|
|
148
|
+
mini_mime (>= 0.1.1)
|
|
149
|
+
net-imap
|
|
150
|
+
net-pop
|
|
151
|
+
net-smtp
|
|
152
|
+
marcel (1.1.0)
|
|
153
|
+
mini_mime (1.1.5)
|
|
154
|
+
minitest (5.26.0)
|
|
155
|
+
net-imap (0.5.12)
|
|
156
|
+
date
|
|
157
|
+
net-protocol
|
|
158
|
+
net-pop (0.1.2)
|
|
159
|
+
net-protocol
|
|
160
|
+
net-protocol (0.2.2)
|
|
161
|
+
timeout
|
|
162
|
+
net-smtp (0.5.1)
|
|
163
|
+
net-protocol
|
|
164
|
+
nio4r (2.7.4)
|
|
165
|
+
nokogiri (1.18.10-aarch64-linux-gnu)
|
|
166
|
+
racc (~> 1.4)
|
|
167
|
+
nokogiri (1.18.10-aarch64-linux-musl)
|
|
168
|
+
racc (~> 1.4)
|
|
169
|
+
nokogiri (1.18.10-arm-linux-gnu)
|
|
170
|
+
racc (~> 1.4)
|
|
171
|
+
nokogiri (1.18.10-arm-linux-musl)
|
|
172
|
+
racc (~> 1.4)
|
|
173
|
+
nokogiri (1.18.10-arm64-darwin)
|
|
174
|
+
racc (~> 1.4)
|
|
175
|
+
nokogiri (1.18.10-x86_64-darwin)
|
|
176
|
+
racc (~> 1.4)
|
|
177
|
+
nokogiri (1.18.10-x86_64-linux-gnu)
|
|
178
|
+
racc (~> 1.4)
|
|
179
|
+
nokogiri (1.18.10-x86_64-linux-musl)
|
|
180
|
+
racc (~> 1.4)
|
|
181
|
+
panolint (0.1.6)
|
|
182
|
+
brakeman (>= 4.8, < 6.0)
|
|
183
|
+
rubocop (>= 0.83, < 2.0)
|
|
184
|
+
rubocop-performance (~> 1.5)
|
|
185
|
+
rubocop-rails (~> 2.5)
|
|
186
|
+
rubocop-rake (~> 0.5)
|
|
187
|
+
rubocop-rspec (~> 2.0)
|
|
188
|
+
parallel (1.27.0)
|
|
189
|
+
parser (3.3.10.0)
|
|
190
|
+
ast (~> 2.4.1)
|
|
191
|
+
racc
|
|
192
|
+
pp (0.6.3)
|
|
193
|
+
prettyprint
|
|
194
|
+
prettyprint (0.2.0)
|
|
195
|
+
prism (1.6.0)
|
|
196
|
+
psych (5.2.6)
|
|
197
|
+
date
|
|
198
|
+
stringio
|
|
199
|
+
racc (1.8.1)
|
|
200
|
+
rack (3.2.3)
|
|
201
|
+
rack-session (2.1.1)
|
|
202
|
+
base64 (>= 0.1.0)
|
|
203
|
+
rack (>= 3.0.0)
|
|
204
|
+
rack-test (2.2.0)
|
|
205
|
+
rack (>= 1.3)
|
|
206
|
+
rackup (2.2.1)
|
|
207
|
+
rack (>= 3)
|
|
208
|
+
rails-dom-testing (2.3.0)
|
|
209
|
+
activesupport (>= 5.0.0)
|
|
210
|
+
minitest
|
|
211
|
+
nokogiri (>= 1.6)
|
|
212
|
+
rails-html-sanitizer (1.6.2)
|
|
213
|
+
loofah (~> 2.21)
|
|
214
|
+
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
|
215
|
+
rainbow (3.1.1)
|
|
216
|
+
rake (13.3.0)
|
|
217
|
+
rdoc (6.15.0)
|
|
218
|
+
erb
|
|
219
|
+
psych (>= 4.0.0)
|
|
220
|
+
tsort
|
|
221
|
+
regexp_parser (2.11.3)
|
|
222
|
+
reline (0.6.2)
|
|
223
|
+
io-console (~> 0.5)
|
|
224
|
+
rubocop (1.81.6)
|
|
225
|
+
json (~> 2.3)
|
|
226
|
+
language_server-protocol (~> 3.17.0.2)
|
|
227
|
+
lint_roller (~> 1.1.0)
|
|
228
|
+
parallel (~> 1.10)
|
|
229
|
+
parser (>= 3.3.0.2)
|
|
230
|
+
rainbow (>= 2.2.2, < 4.0)
|
|
231
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
|
232
|
+
rubocop-ast (>= 1.47.1, < 2.0)
|
|
233
|
+
ruby-progressbar (~> 1.7)
|
|
234
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
|
235
|
+
rubocop-ast (1.47.1)
|
|
236
|
+
parser (>= 3.3.7.2)
|
|
237
|
+
prism (~> 1.4)
|
|
238
|
+
rubocop-capybara (2.22.1)
|
|
239
|
+
lint_roller (~> 1.1)
|
|
240
|
+
rubocop (~> 1.72, >= 1.72.1)
|
|
241
|
+
rubocop-factory_bot (2.27.1)
|
|
242
|
+
lint_roller (~> 1.1)
|
|
243
|
+
rubocop (~> 1.72, >= 1.72.1)
|
|
244
|
+
rubocop-performance (1.26.1)
|
|
245
|
+
lint_roller (~> 1.1)
|
|
246
|
+
rubocop (>= 1.75.0, < 2.0)
|
|
247
|
+
rubocop-ast (>= 1.47.1, < 2.0)
|
|
248
|
+
rubocop-rails (2.33.4)
|
|
249
|
+
activesupport (>= 4.2.0)
|
|
250
|
+
lint_roller (~> 1.1)
|
|
251
|
+
rack (>= 1.1)
|
|
252
|
+
rubocop (>= 1.75.0, < 2.0)
|
|
253
|
+
rubocop-ast (>= 1.44.0, < 2.0)
|
|
254
|
+
rubocop-rake (0.7.1)
|
|
255
|
+
lint_roller (~> 1.1)
|
|
256
|
+
rubocop (>= 1.72.1)
|
|
257
|
+
rubocop-rspec (2.31.0)
|
|
258
|
+
rubocop (~> 1.40)
|
|
259
|
+
rubocop-capybara (~> 2.17)
|
|
260
|
+
rubocop-factory_bot (~> 2.22)
|
|
261
|
+
rubocop-rspec_rails (~> 2.28)
|
|
262
|
+
rubocop-rspec_rails (2.29.1)
|
|
263
|
+
rubocop (~> 1.61)
|
|
264
|
+
ruby-progressbar (1.13.0)
|
|
265
|
+
securerandom (0.4.1)
|
|
266
|
+
simplecov (0.22.0)
|
|
267
|
+
docile (~> 1.1)
|
|
268
|
+
simplecov-html (~> 0.11)
|
|
269
|
+
simplecov_json_formatter (~> 0.1)
|
|
270
|
+
simplecov-html (0.13.2)
|
|
271
|
+
simplecov_json_formatter (0.1.4)
|
|
272
|
+
sqlite3 (2.7.4-aarch64-linux-gnu)
|
|
273
|
+
sqlite3 (2.7.4-aarch64-linux-musl)
|
|
274
|
+
sqlite3 (2.7.4-arm-linux-gnu)
|
|
275
|
+
sqlite3 (2.7.4-arm-linux-musl)
|
|
276
|
+
sqlite3 (2.7.4-arm64-darwin)
|
|
277
|
+
sqlite3 (2.7.4-x86_64-darwin)
|
|
278
|
+
sqlite3 (2.7.4-x86_64-linux-gnu)
|
|
279
|
+
sqlite3 (2.7.4-x86_64-linux-musl)
|
|
280
|
+
stringio (3.1.7)
|
|
281
|
+
thor (1.4.0)
|
|
282
|
+
timeout (0.4.3)
|
|
283
|
+
tsort (0.2.0)
|
|
284
|
+
tzinfo (2.0.6)
|
|
285
|
+
concurrent-ruby (~> 1.0)
|
|
286
|
+
unicode-display_width (3.2.0)
|
|
287
|
+
unicode-emoji (~> 4.1)
|
|
288
|
+
unicode-emoji (4.1.0)
|
|
289
|
+
uri (1.0.4)
|
|
290
|
+
useragent (0.16.11)
|
|
291
|
+
websocket-driver (0.8.0)
|
|
292
|
+
base64
|
|
293
|
+
websocket-extensions (>= 0.1.0)
|
|
294
|
+
websocket-extensions (0.1.5)
|
|
295
|
+
zeitwerk (2.7.3)
|
|
296
|
+
|
|
297
|
+
PLATFORMS
|
|
298
|
+
aarch64-linux-gnu
|
|
299
|
+
aarch64-linux-musl
|
|
300
|
+
arm-linux-gnu
|
|
301
|
+
arm-linux-musl
|
|
302
|
+
arm64-darwin
|
|
303
|
+
x86_64-darwin
|
|
304
|
+
x86_64-linux-gnu
|
|
305
|
+
x86_64-linux-musl
|
|
306
|
+
|
|
307
|
+
DEPENDENCIES
|
|
308
|
+
appraisal
|
|
309
|
+
minitest
|
|
310
|
+
panolint
|
|
311
|
+
rails!
|
|
312
|
+
rake
|
|
313
|
+
rubocop (~> 1.39)
|
|
314
|
+
rubocop-rake
|
|
315
|
+
setler!
|
|
316
|
+
simplecov
|
|
317
|
+
sqlite3
|
|
318
|
+
|
|
319
|
+
BUNDLED WITH
|
|
320
|
+
2.6.9
|
data/lib/setler/settings.rb
CHANGED
|
@@ -28,9 +28,9 @@ module Setler
|
|
|
28
28
|
super(method, *args, &block)
|
|
29
29
|
else
|
|
30
30
|
method_name = method.to_s
|
|
31
|
-
if method_name.
|
|
31
|
+
if method_name.end_with?("=")
|
|
32
32
|
self[method_name[0..-2]] = args.first
|
|
33
|
-
elsif method_name.
|
|
33
|
+
elsif method_name.end_with?("?")
|
|
34
34
|
self[method_name[0..-2]].present?
|
|
35
35
|
else
|
|
36
36
|
self[method_name]
|
|
@@ -65,7 +65,7 @@ module Setler
|
|
|
65
65
|
|
|
66
66
|
def self.destroy(var_name)
|
|
67
67
|
var_name = var_name.to_s
|
|
68
|
-
|
|
68
|
+
if (setting = self.find_by_var(var_name))
|
|
69
69
|
setting.destroy
|
|
70
70
|
true
|
|
71
71
|
else
|
data/lib/setler/version.rb
CHANGED
data/setler.gemspec
CHANGED
|
@@ -17,12 +17,28 @@ Gem::Specification.new do |s|
|
|
|
17
17
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
|
18
18
|
s.require_paths = ["lib"]
|
|
19
19
|
|
|
20
|
+
supported_ruby_requirements = [
|
|
21
|
+
Gem::Requirement.new(["~> 2.6", ">= 2.6.10"]),
|
|
22
|
+
Gem::Requirement.new(["~> 2.7", ">= 2.7.8"]),
|
|
23
|
+
Gem::Requirement.new("~> 3.0"),
|
|
24
|
+
Gem::Requirement.new("~> 3.1"),
|
|
25
|
+
Gem::Requirement.new("~> 3.2"),
|
|
26
|
+
Gem::Requirement.new("~> 3.3"),
|
|
27
|
+
Gem::Requirement.new("~> 3.4"),
|
|
28
|
+
Gem::Requirement.new([">= 3.5.0.pre", "< 3.6"])
|
|
29
|
+
].freeze
|
|
30
|
+
|
|
31
|
+
s.metadata['supported_ruby_requirements'] = supported_ruby_requirements.map(&:to_s).join(', ')
|
|
32
|
+
s.required_ruby_version = Gem::Requirement.new([">= 2.6.10"])
|
|
33
|
+
|
|
20
34
|
s.add_dependency('activerecord', '>=3.0.0')
|
|
21
35
|
s.add_dependency('rails', '>=3.0.0')
|
|
22
|
-
s.add_dependency('sprockets', '3.7.2') # 10/16/2019: LOCKED DOWN
|
|
23
36
|
|
|
24
37
|
s.add_development_dependency('rake')
|
|
25
38
|
s.add_development_dependency('minitest')
|
|
26
39
|
s.add_development_dependency('simplecov')
|
|
27
40
|
s.add_development_dependency('appraisal')
|
|
41
|
+
s.add_development_dependency('rubocop', '~> 1.39')
|
|
42
|
+
s.add_development_dependency('rubocop-rake')
|
|
43
|
+
s.add_development_dependency('panolint')
|
|
28
44
|
end
|
data/test/settings_test.rb
CHANGED
|
@@ -179,7 +179,7 @@ class ::SettingsTest < Minitest::Test
|
|
|
179
179
|
::Preferences.create var: 'test', value: 'preferences foo'
|
|
180
180
|
::Preferences.create var: 'test2', value: 'preferences bar'
|
|
181
181
|
|
|
182
|
-
|
|
182
|
+
refute_equal ::Settings.all_settings, ::Preferences.all_settings
|
|
183
183
|
|
|
184
184
|
assert_equal 'foo', ::Settings[:test]
|
|
185
185
|
assert_equal 'bar', ::Settings[:test2]
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: setler
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
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:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: activerecord
|
|
@@ -39,21 +38,21 @@ dependencies:
|
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
39
|
version: 3.0.0
|
|
41
40
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
41
|
+
name: rake
|
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
|
44
43
|
requirements:
|
|
45
|
-
- -
|
|
44
|
+
- - ">="
|
|
46
45
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
48
|
-
type: :
|
|
46
|
+
version: '0'
|
|
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
|
-
version:
|
|
53
|
+
version: '0'
|
|
55
54
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
55
|
+
name: minitest
|
|
57
56
|
requirement: !ruby/object:Gem::Requirement
|
|
58
57
|
requirements:
|
|
59
58
|
- - ">="
|
|
@@ -67,7 +66,7 @@ dependencies:
|
|
|
67
66
|
- !ruby/object:Gem::Version
|
|
68
67
|
version: '0'
|
|
69
68
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
69
|
+
name: simplecov
|
|
71
70
|
requirement: !ruby/object:Gem::Requirement
|
|
72
71
|
requirements:
|
|
73
72
|
- - ">="
|
|
@@ -81,7 +80,7 @@ dependencies:
|
|
|
81
80
|
- !ruby/object:Gem::Version
|
|
82
81
|
version: '0'
|
|
83
82
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
83
|
+
name: appraisal
|
|
85
84
|
requirement: !ruby/object:Gem::Requirement
|
|
86
85
|
requirements:
|
|
87
86
|
- - ">="
|
|
@@ -95,7 +94,35 @@ dependencies:
|
|
|
95
94
|
- !ruby/object:Gem::Version
|
|
96
95
|
version: '0'
|
|
97
96
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
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
|
|
99
126
|
requirement: !ruby/object:Gem::Requirement
|
|
100
127
|
requirements:
|
|
101
128
|
- - ">="
|
|
@@ -119,22 +146,35 @@ executables: []
|
|
|
119
146
|
extensions: []
|
|
120
147
|
extra_rdoc_files: []
|
|
121
148
|
files:
|
|
149
|
+
- ".devcontainer/devcontainer.json"
|
|
150
|
+
- ".github/dependabot.yml"
|
|
151
|
+
- ".github/workflows/lint.yml"
|
|
152
|
+
- ".github/workflows/test.yml"
|
|
122
153
|
- ".gitignore"
|
|
154
|
+
- ".markdownlint.json"
|
|
155
|
+
- ".rubocop.yml"
|
|
123
156
|
- ".ruby-gemset"
|
|
124
157
|
- ".ruby-version"
|
|
125
|
-
- ".
|
|
158
|
+
- ".yamllint.yml"
|
|
159
|
+
- AGENTS.md
|
|
126
160
|
- Appraisals
|
|
127
161
|
- Gemfile
|
|
128
162
|
- MIT-LICENSE
|
|
129
|
-
- README.
|
|
163
|
+
- README.md
|
|
130
164
|
- Rakefile
|
|
131
165
|
- contributors.txt
|
|
132
166
|
- gemfiles/rails_4.gemfile
|
|
133
167
|
- gemfiles/rails_4.gemfile.lock
|
|
134
168
|
- gemfiles/rails_5.gemfile
|
|
135
169
|
- gemfiles/rails_5.gemfile.lock
|
|
136
|
-
- gemfiles/
|
|
137
|
-
- gemfiles/
|
|
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
|
|
138
178
|
- lib/generators/setler/setler_generator.rb
|
|
139
179
|
- lib/generators/setler/templates/migration.rb
|
|
140
180
|
- lib/generators/setler/templates/model.rb
|
|
@@ -150,8 +190,9 @@ files:
|
|
|
150
190
|
homepage: https://github.com/ckdake/setler
|
|
151
191
|
licenses:
|
|
152
192
|
- MIT
|
|
153
|
-
metadata:
|
|
154
|
-
|
|
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"
|
|
155
196
|
rdoc_options: []
|
|
156
197
|
require_paths:
|
|
157
198
|
- lib
|
|
@@ -159,17 +200,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
159
200
|
requirements:
|
|
160
201
|
- - ">="
|
|
161
202
|
- !ruby/object:Gem::Version
|
|
162
|
-
version:
|
|
203
|
+
version: 2.6.10
|
|
163
204
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
205
|
requirements:
|
|
165
206
|
- - ">="
|
|
166
207
|
- !ruby/object:Gem::Version
|
|
167
208
|
version: '0'
|
|
168
209
|
requirements: []
|
|
169
|
-
rubygems_version: 3.
|
|
170
|
-
signing_key:
|
|
210
|
+
rubygems_version: 3.6.9
|
|
171
211
|
specification_version: 4
|
|
172
212
|
summary: Settler lets you use the 'Feature Flags' pettern or add settings to models.
|
|
173
|
-
test_files:
|
|
174
|
-
- test/settings_test.rb
|
|
175
|
-
- test/test_helper.rb
|
|
213
|
+
test_files: []
|
data/.travis.yml
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
language: ruby
|
|
2
|
-
rvm:
|
|
3
|
-
- 2.3.8
|
|
4
|
-
- 2.4.7
|
|
5
|
-
- 2.5.7
|
|
6
|
-
- 2.6.5
|
|
7
|
-
before_install: "gem install bundler:1.17.2"
|
|
8
|
-
cache: bundler
|
|
9
|
-
script: "bundle exec rake test"
|
|
10
|
-
notifications:
|
|
11
|
-
email: false
|
|
12
|
-
gemfile:
|
|
13
|
-
- gemfiles/rails_4.gemfile
|
|
14
|
-
- gemfiles/rails_5.gemfile
|
|
15
|
-
- gemfiles/rails_6_edge.gemfile
|
|
16
|
-
matrix:
|
|
17
|
-
fast_finish: true
|
|
18
|
-
exclude:
|
|
19
|
-
- rvm: 2.3.8
|
|
20
|
-
gemfile: gemfiles/rails_6_edge.gemfile
|
|
21
|
-
- rvm: 2.4.7
|
|
22
|
-
gemfile: gemfiles/rails_6_edge.gemfile
|
data/README.rdoc
DELETED
|
@@ -1,85 +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
|
-
{<img src="https://badge.fury.io/rb/setler.svg" alt="Gem Version" />}[http://badge.fury.io/rb/setler]
|
|
7
|
-
|
|
8
|
-
While Setler enables you to create both app-level and model-level settings, they are two separate things and don't mix. For example, if you create defaults for the app, they won't appear as defaults for individual models.
|
|
9
|
-
|
|
10
|
-
== Setup
|
|
11
|
-
|
|
12
|
-
Install the gem by adding this to your Gemfile:
|
|
13
|
-
|
|
14
|
-
gem "setler"
|
|
15
|
-
|
|
16
|
-
Generate the model:
|
|
17
|
-
|
|
18
|
-
rails g setler <model_name>
|
|
19
|
-
|
|
20
|
-
Run the migration:
|
|
21
|
-
|
|
22
|
-
rake db:migrate
|
|
23
|
-
|
|
24
|
-
If you are using the `protected_attributes` gem you must add `attr_protected` to the top of you setler model.
|
|
25
|
-
|
|
26
|
-
== Usage
|
|
27
|
-
|
|
28
|
-
Create/Update settings:
|
|
29
|
-
|
|
30
|
-
# Method calls and []= are synonymous
|
|
31
|
-
Featureflags.bacon_dispenser_enabled = true
|
|
32
|
-
Settings[:allowed_meats] = ['bacon', 'crunchy bacon']
|
|
33
|
-
|
|
34
|
-
Read settings:
|
|
35
|
-
|
|
36
|
-
Featureflags.bacon_dispenser_enabled # true
|
|
37
|
-
Settings[:allowed_meats].include?('bacon') # true
|
|
38
|
-
|
|
39
|
-
Destroy them:
|
|
40
|
-
|
|
41
|
-
Featureflags.destroy :bacon_dispenser_enabled
|
|
42
|
-
Settings.destroy :allowed_meats
|
|
43
|
-
|
|
44
|
-
List all settings:
|
|
45
|
-
|
|
46
|
-
Featureflags.all_settings
|
|
47
|
-
Settings.all_settings
|
|
48
|
-
|
|
49
|
-
Set defaults in an initializer with something like:
|
|
50
|
-
|
|
51
|
-
Featureflags.defaults[:bacon_dispenser_enabled] = false
|
|
52
|
-
Settings.defaults[:allowed_meats] = ['itsnotbacon']
|
|
53
|
-
|
|
54
|
-
To revert to the default after changing a setting, destroy it.
|
|
55
|
-
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.
|
|
56
|
-
|
|
57
|
-
Add them to any ActiveRecord object:
|
|
58
|
-
|
|
59
|
-
class User < ActiveRecord::Base
|
|
60
|
-
has_setler :settings
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
Then you get:
|
|
64
|
-
|
|
65
|
-
user = User.first
|
|
66
|
-
user.settings.favorite_meat = :bacon
|
|
67
|
-
user.settings.favorite_meat # :bacon
|
|
68
|
-
user.settings.all # { "favorite_meat" => :bacon }
|
|
69
|
-
|
|
70
|
-
TODO: And look em up:
|
|
71
|
-
|
|
72
|
-
User.with_settings_for('favorite_meat') # => scope of users with the favorite_meat setting
|
|
73
|
-
|
|
74
|
-
== Gem Development
|
|
75
|
-
|
|
76
|
-
Getting started is pretty straightforward:
|
|
77
|
-
|
|
78
|
-
1. Check out the code: `git clone git://github.com/ckdake/setler.git`
|
|
79
|
-
2. Bundle install: `bundle install`
|
|
80
|
-
3. Run: `appraisal install` to generate the appraisal's gemfiles.
|
|
81
|
-
4. Run the tests for all supported releases in Appraisals file and make sure they all pass and code coverage is still the same: `appraisal rake test`
|
|
82
|
-
|
|
83
|
-
If you'd like to contribute code, make your changes and submit a pull request that includes appropriate tests
|
|
84
|
-
|
|
85
|
-
For building the gem: `rake build` and to release a gem to github and Rubygems: `rake release`
|