shimmer 0.0.28 → 0.0.29

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
  SHA256:
3
- metadata.gz: c29fbc043f70767d14167a6da3f50d85790e85f3244628c207c41412a9d0db65
4
- data.tar.gz: 8b33c52bf110c85c72427fe5dd320bbb26ff782aecba81f4aae17fe3f1eb81f3
3
+ metadata.gz: e77dab032d0ec3a48d22321c020868645d0a6d8649821518189decd58ebffb0f
4
+ data.tar.gz: 1a6957d6dea3f04288166eaf4a7cbb011ebfdd9b26bb2675f0b1faaffa7eda3f
5
5
  SHA512:
6
- metadata.gz: 8c9bbb1b1ef81986d70a3101ec86ed3222c015ab2466d585bc5ebcc83cc0c80adfdc57e4ac223a01ae96fa2ab5be0aedebf60efeffba32507fd44402779e4f34
7
- data.tar.gz: 0b8e06125388ce26ae9e88adfdd3616828180a46332f584d4a631630a68c69fff6cd59f0242c8d9db69ed3c0a72ab77abdee84655785ae7f8f0a861e96513814
6
+ metadata.gz: 0a479f55de54862deb63928a2be5f58ccd3b142b059db16e4405c958f527758e348bbd1d82147646705492aa7d28ea2702549075de34522900d1eda83c5d0802
7
+ data.tar.gz: 6c493df14ce2242f4e735d04a2a5e398ae3cf1cb8c2d7d081a8061be6f08d0d552627d85753f542a97a4075a7acfb58c0bfa64bd5c708c4ca0344793ff047602
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
data/.rubocop.yml CHANGED
@@ -1,5 +1,12 @@
1
1
  inherit_from: config/rubocop_base.yml
2
2
 
3
+ AllCops:
4
+ Exclude:
5
+ - "bin/**/*"
6
+ - "spec/rails_app/bin/**/*"
7
+ - "spec/rails_app/db/schema.rb"
8
+ - "vendor/**/*"
9
+
3
10
  # Allow controllers created in this library to inherit directly from ActionController::Base.
4
11
  Rails/ApplicationController:
5
12
  Enabled: false
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.0.3
1
+ 2.7.7
@@ -1,9 +1,12 @@
1
1
  {
2
- "solargraph.useBundler": false,
3
- "solargraph.formatting": true,
4
2
  "[ruby]": {
5
3
  "editor.formatOnSave": false,
6
- "editor.defaultFormatter": "castwide.solargraph"
4
+ "editor.defaultFormatter": "rebornix.ruby"
7
5
  },
8
- "typescript.tsdk": "node_modules/typescript/lib"
6
+ "ruby.format": "rubocop",
7
+ "ruby.lint": {
8
+ "rubocop": true
9
+ },
10
+ "ruby.useLanguageServer": true,
11
+ "typescript.tsdk": "node_modules/typescript/lib",
9
12
  }
data/Gemfile CHANGED
@@ -4,3 +4,45 @@ source "https://rubygems.org"
4
4
 
5
5
  # Specify your gem's dependencies in shimmer.gemspec
6
6
  gemspec
7
+
8
+ gem "rails"
9
+ gem "propshaft"
10
+ gem "sqlite3"
11
+ gem "puma"
12
+ gem "jsbundling-rails"
13
+ gem "turbo-rails"
14
+ gem "stimulus-rails"
15
+ gem "cssbundling-rails"
16
+ gem "jbuilder"
17
+ gem "bootsnap", require: false
18
+ gem "dotenv"
19
+ gem "slim-rails"
20
+ gem "awesome_print"
21
+ gem "dotenv-rails"
22
+
23
+ group :development, :test do
24
+ gem "debug", platforms: [:mri, :mingw, :x64_mingw]
25
+ gem "rake"
26
+ gem "rspec-rails"
27
+ gem "rspec-retry"
28
+ gem "pry"
29
+ gem "pry-rails"
30
+ gem "pry-byebug"
31
+ gem "pry-doc"
32
+ gem "guard"
33
+ gem "guard-rspec"
34
+ gem "capybara"
35
+ gem "rack_session_access"
36
+ gem "cuprite"
37
+ gem "standard"
38
+ gem "rubocop"
39
+ gem "rubocop-rails"
40
+ gem "rubocop-performance"
41
+ gem "rubocop-rspec"
42
+ gem "rubocop-rake"
43
+ end
44
+
45
+ group :development do
46
+ gem "web-console"
47
+ gem "annotate"
48
+ end
data/Gemfile.lock CHANGED
@@ -6,69 +6,381 @@ PATH
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- activesupport (7.0.2.3)
9
+ actioncable (7.0.4.2)
10
+ actionpack (= 7.0.4.2)
11
+ activesupport (= 7.0.4.2)
12
+ nio4r (~> 2.0)
13
+ websocket-driver (>= 0.6.1)
14
+ actionmailbox (7.0.4.2)
15
+ actionpack (= 7.0.4.2)
16
+ activejob (= 7.0.4.2)
17
+ activerecord (= 7.0.4.2)
18
+ activestorage (= 7.0.4.2)
19
+ activesupport (= 7.0.4.2)
20
+ mail (>= 2.7.1)
21
+ net-imap
22
+ net-pop
23
+ net-smtp
24
+ actionmailer (7.0.4.2)
25
+ actionpack (= 7.0.4.2)
26
+ actionview (= 7.0.4.2)
27
+ activejob (= 7.0.4.2)
28
+ activesupport (= 7.0.4.2)
29
+ mail (~> 2.5, >= 2.5.4)
30
+ net-imap
31
+ net-pop
32
+ net-smtp
33
+ rails-dom-testing (~> 2.0)
34
+ actionpack (7.0.4.2)
35
+ actionview (= 7.0.4.2)
36
+ activesupport (= 7.0.4.2)
37
+ rack (~> 2.0, >= 2.2.0)
38
+ rack-test (>= 0.6.3)
39
+ rails-dom-testing (~> 2.0)
40
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
41
+ actiontext (7.0.4.2)
42
+ actionpack (= 7.0.4.2)
43
+ activerecord (= 7.0.4.2)
44
+ activestorage (= 7.0.4.2)
45
+ activesupport (= 7.0.4.2)
46
+ globalid (>= 0.6.0)
47
+ nokogiri (>= 1.8.5)
48
+ actionview (7.0.4.2)
49
+ activesupport (= 7.0.4.2)
50
+ builder (~> 3.1)
51
+ erubi (~> 1.4)
52
+ rails-dom-testing (~> 2.0)
53
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
54
+ activejob (7.0.4.2)
55
+ activesupport (= 7.0.4.2)
56
+ globalid (>= 0.3.6)
57
+ activemodel (7.0.4.2)
58
+ activesupport (= 7.0.4.2)
59
+ activerecord (7.0.4.2)
60
+ activemodel (= 7.0.4.2)
61
+ activesupport (= 7.0.4.2)
62
+ activestorage (7.0.4.2)
63
+ actionpack (= 7.0.4.2)
64
+ activejob (= 7.0.4.2)
65
+ activerecord (= 7.0.4.2)
66
+ activesupport (= 7.0.4.2)
67
+ marcel (~> 1.0)
68
+ mini_mime (>= 1.1.0)
69
+ activesupport (7.0.4.2)
10
70
  concurrent-ruby (~> 1.0, >= 1.0.2)
11
71
  i18n (>= 1.6, < 2)
12
72
  minitest (>= 5.1)
13
73
  tzinfo (~> 2.0)
74
+ addressable (2.8.1)
75
+ public_suffix (>= 2.0.2, < 6.0)
76
+ annotate (3.2.0)
77
+ activerecord (>= 3.2, < 8.0)
78
+ rake (>= 10.4, < 14.0)
14
79
  ast (2.4.2)
15
- concurrent-ruby (1.1.10)
16
- i18n (1.10.0)
80
+ awesome_print (1.9.2)
81
+ bindex (0.8.1)
82
+ bootsnap (1.16.0)
83
+ msgpack (~> 1.2)
84
+ builder (3.2.4)
85
+ byebug (11.1.3)
86
+ capybara (3.38.0)
87
+ addressable
88
+ matrix
89
+ mini_mime (>= 0.1.3)
90
+ nokogiri (~> 1.8)
91
+ rack (>= 1.6.0)
92
+ rack-test (>= 0.6.3)
93
+ regexp_parser (>= 1.5, < 3.0)
94
+ xpath (~> 3.2)
95
+ coderay (1.1.3)
96
+ concurrent-ruby (1.2.0)
97
+ crass (1.0.6)
98
+ cssbundling-rails (1.1.2)
99
+ railties (>= 6.0.0)
100
+ cuprite (0.14.3)
101
+ capybara (~> 3.0)
102
+ ferrum (~> 0.13.0)
103
+ date (3.3.3)
104
+ debug (1.7.1)
105
+ irb (>= 1.5.0)
106
+ reline (>= 0.3.1)
107
+ diff-lcs (1.5.0)
108
+ dotenv (2.8.1)
109
+ dotenv-rails (2.8.1)
110
+ dotenv (= 2.8.1)
111
+ railties (>= 3.2)
112
+ erubi (1.12.0)
113
+ ferrum (0.13)
114
+ addressable (~> 2.5)
115
+ concurrent-ruby (~> 1.1)
116
+ webrick (~> 1.7)
117
+ websocket-driver (>= 0.6, < 0.8)
118
+ ffi (1.15.5)
119
+ formatador (1.1.0)
120
+ globalid (1.1.0)
121
+ activesupport (>= 5.0)
122
+ guard (2.18.0)
123
+ formatador (>= 0.2.4)
124
+ listen (>= 2.7, < 4.0)
125
+ lumberjack (>= 1.0.12, < 2.0)
126
+ nenv (~> 0.1)
127
+ notiffany (~> 0.0)
128
+ pry (>= 0.13.0)
129
+ shellany (~> 0.0)
130
+ thor (>= 0.18.1)
131
+ guard-compat (1.2.1)
132
+ guard-rspec (4.7.3)
133
+ guard (~> 2.1)
134
+ guard-compat (~> 1.1)
135
+ rspec (>= 2.99.0, < 4.0)
136
+ i18n (1.12.0)
17
137
  concurrent-ruby (~> 1.0)
18
- minitest (5.15.0)
19
- parallel (1.21.0)
20
- parser (3.0.3.2)
138
+ io-console (0.6.0)
139
+ irb (1.6.2)
140
+ reline (>= 0.3.0)
141
+ jbuilder (2.11.5)
142
+ actionview (>= 5.0.0)
143
+ activesupport (>= 5.0.0)
144
+ jsbundling-rails (1.1.1)
145
+ railties (>= 6.0.0)
146
+ json (2.6.3)
147
+ language_server-protocol (3.17.0.3)
148
+ lint_roller (1.0.0)
149
+ listen (3.8.0)
150
+ rb-fsevent (~> 0.10, >= 0.10.3)
151
+ rb-inotify (~> 0.9, >= 0.9.10)
152
+ loofah (2.19.1)
153
+ crass (~> 1.0.2)
154
+ nokogiri (>= 1.5.9)
155
+ lumberjack (1.2.8)
156
+ mail (2.8.1)
157
+ mini_mime (>= 0.1.1)
158
+ net-imap
159
+ net-pop
160
+ net-smtp
161
+ marcel (1.0.2)
162
+ matrix (0.4.2)
163
+ method_source (1.0.0)
164
+ mini_mime (1.1.2)
165
+ minitest (5.17.0)
166
+ msgpack (1.6.0)
167
+ nenv (0.3.0)
168
+ net-imap (0.3.4)
169
+ date
170
+ net-protocol
171
+ net-pop (0.1.2)
172
+ net-protocol
173
+ net-protocol (0.2.1)
174
+ timeout
175
+ net-smtp (0.3.3)
176
+ net-protocol
177
+ nio4r (2.5.8)
178
+ nokogiri (1.14.1-x86_64-darwin)
179
+ racc (~> 1.4)
180
+ notiffany (0.1.3)
181
+ nenv (~> 0.1)
182
+ shellany (~> 0.0)
183
+ parallel (1.23.0)
184
+ parser (3.2.2.1)
21
185
  ast (~> 2.4.1)
22
- rack (2.2.3)
23
- rainbow (3.0.0)
186
+ propshaft (0.6.4)
187
+ actionpack (>= 7.0.0)
188
+ activesupport (>= 7.0.0)
189
+ rack
190
+ railties (>= 7.0.0)
191
+ pry (0.14.2)
192
+ coderay (~> 1.1)
193
+ method_source (~> 1.0)
194
+ pry-byebug (3.10.1)
195
+ byebug (~> 11.0)
196
+ pry (>= 0.13, < 0.15)
197
+ pry-doc (1.4.0)
198
+ pry (~> 0.11)
199
+ yard (~> 0.9.11)
200
+ pry-rails (0.3.9)
201
+ pry (>= 0.10.4)
202
+ public_suffix (5.0.1)
203
+ puma (6.0.2)
204
+ nio4r (~> 2.0)
205
+ racc (1.6.2)
206
+ rack (2.2.6.2)
207
+ rack-test (2.0.2)
208
+ rack (>= 1.3)
209
+ rack_session_access (0.2.0)
210
+ builder (>= 2.0.0)
211
+ rack (>= 1.0.0)
212
+ rails (7.0.4.2)
213
+ actioncable (= 7.0.4.2)
214
+ actionmailbox (= 7.0.4.2)
215
+ actionmailer (= 7.0.4.2)
216
+ actionpack (= 7.0.4.2)
217
+ actiontext (= 7.0.4.2)
218
+ actionview (= 7.0.4.2)
219
+ activejob (= 7.0.4.2)
220
+ activemodel (= 7.0.4.2)
221
+ activerecord (= 7.0.4.2)
222
+ activestorage (= 7.0.4.2)
223
+ activesupport (= 7.0.4.2)
224
+ bundler (>= 1.15.0)
225
+ railties (= 7.0.4.2)
226
+ rails-dom-testing (2.0.3)
227
+ activesupport (>= 4.2.0)
228
+ nokogiri (>= 1.6)
229
+ rails-html-sanitizer (1.5.0)
230
+ loofah (~> 2.19, >= 2.19.1)
231
+ railties (7.0.4.2)
232
+ actionpack (= 7.0.4.2)
233
+ activesupport (= 7.0.4.2)
234
+ method_source
235
+ rake (>= 12.2)
236
+ thor (~> 1.0)
237
+ zeitwerk (~> 2.5)
238
+ rainbow (3.1.1)
24
239
  rake (13.0.6)
25
- regexp_parser (2.2.0)
240
+ rb-fsevent (0.11.2)
241
+ rb-inotify (0.10.1)
242
+ ffi (~> 1.0)
243
+ regexp_parser (2.8.0)
244
+ reline (0.3.2)
245
+ io-console (~> 0.5)
26
246
  rexml (3.2.5)
27
- rubocop (1.23.0)
247
+ rspec (3.12.0)
248
+ rspec-core (~> 3.12.0)
249
+ rspec-expectations (~> 3.12.0)
250
+ rspec-mocks (~> 3.12.0)
251
+ rspec-core (3.12.1)
252
+ rspec-support (~> 3.12.0)
253
+ rspec-expectations (3.12.2)
254
+ diff-lcs (>= 1.2.0, < 2.0)
255
+ rspec-support (~> 3.12.0)
256
+ rspec-mocks (3.12.3)
257
+ diff-lcs (>= 1.2.0, < 2.0)
258
+ rspec-support (~> 3.12.0)
259
+ rspec-rails (6.0.1)
260
+ actionpack (>= 6.1)
261
+ activesupport (>= 6.1)
262
+ railties (>= 6.1)
263
+ rspec-core (~> 3.11)
264
+ rspec-expectations (~> 3.11)
265
+ rspec-mocks (~> 3.11)
266
+ rspec-support (~> 3.11)
267
+ rspec-retry (0.6.2)
268
+ rspec-core (> 3.3)
269
+ rspec-support (3.12.0)
270
+ rubocop (1.50.2)
271
+ json (~> 2.3)
28
272
  parallel (~> 1.10)
29
- parser (>= 3.0.0.0)
273
+ parser (>= 3.2.0.0)
30
274
  rainbow (>= 2.2.2, < 4.0)
31
275
  regexp_parser (>= 1.8, < 3.0)
32
- rexml
33
- rubocop-ast (>= 1.12.0, < 2.0)
276
+ rexml (>= 3.2.5, < 4.0)
277
+ rubocop-ast (>= 1.28.0, < 2.0)
34
278
  ruby-progressbar (~> 1.7)
35
- unicode-display_width (>= 1.4.0, < 3.0)
36
- rubocop-ast (1.15.0)
37
- parser (>= 3.0.1.1)
38
- rubocop-performance (1.12.0)
279
+ unicode-display_width (>= 2.4.0, < 3.0)
280
+ rubocop-ast (1.28.0)
281
+ parser (>= 3.2.1.0)
282
+ rubocop-capybara (2.18.0)
283
+ rubocop (~> 1.41)
284
+ rubocop-performance (1.16.0)
39
285
  rubocop (>= 1.7.0, < 2.0)
40
286
  rubocop-ast (>= 0.4.0)
41
- rubocop-rails (2.14.2)
287
+ rubocop-rails (2.17.4)
42
288
  activesupport (>= 4.2.0)
43
289
  rack (>= 1.1)
44
- rubocop (>= 1.7.0, < 2.0)
290
+ rubocop (>= 1.33.0, < 2.0)
45
291
  rubocop-rake (0.6.0)
46
292
  rubocop (~> 1.0)
47
- rubocop-rspec (2.9.0)
48
- rubocop (~> 1.19)
49
- ruby-progressbar (1.11.0)
50
- standard (1.5.0)
51
- rubocop (= 1.23.0)
52
- rubocop-performance (= 1.12.0)
53
- standardrb (1.0.1)
54
- standard
55
- tzinfo (2.0.4)
293
+ rubocop-rspec (2.20.0)
294
+ rubocop (~> 1.33)
295
+ rubocop-capybara (~> 2.17)
296
+ ruby-progressbar (1.13.0)
297
+ shellany (0.0.1)
298
+ slim (4.1.0)
299
+ temple (>= 0.7.6, < 0.9)
300
+ tilt (>= 2.0.6, < 2.1)
301
+ slim-rails (3.5.1)
302
+ actionpack (>= 3.1)
303
+ railties (>= 3.1)
304
+ slim (>= 3.0, < 5.0)
305
+ sqlite3 (1.6.0-x86_64-darwin)
306
+ standard (1.28.0)
307
+ language_server-protocol (~> 3.17.0.2)
308
+ lint_roller (~> 1.0)
309
+ rubocop (~> 1.50.2)
310
+ standard-custom (~> 1.0.0)
311
+ standard-performance (~> 1.0.1)
312
+ standard-custom (1.0.0)
313
+ lint_roller (~> 1.0)
314
+ standard-performance (1.0.1)
315
+ lint_roller (~> 1.0)
316
+ rubocop-performance (~> 1.16.0)
317
+ stimulus-rails (1.2.1)
318
+ railties (>= 6.0.0)
319
+ temple (0.8.2)
320
+ thor (1.2.1)
321
+ tilt (2.0.11)
322
+ timeout (0.3.1)
323
+ turbo-rails (1.3.3)
324
+ actionpack (>= 6.0.0)
325
+ activejob (>= 6.0.0)
326
+ railties (>= 6.0.0)
327
+ tzinfo (2.0.6)
56
328
  concurrent-ruby (~> 1.0)
57
- unicode-display_width (2.1.0)
329
+ unicode-display_width (2.4.2)
330
+ web-console (4.2.0)
331
+ actionview (>= 6.0.0)
332
+ activemodel (>= 6.0.0)
333
+ bindex (>= 0.4.0)
334
+ railties (>= 6.0.0)
335
+ webrick (1.8.1)
336
+ websocket-driver (0.7.5)
337
+ websocket-extensions (>= 0.1.0)
338
+ websocket-extensions (0.1.5)
339
+ xpath (3.2.0)
340
+ nokogiri (~> 1.8)
341
+ yard (0.9.26)
342
+ zeitwerk (2.6.6)
58
343
 
59
344
  PLATFORMS
60
- x86_64-darwin-21
61
- x86_64-linux
345
+ x86_64-darwin-22
62
346
 
63
347
  DEPENDENCIES
64
- rake (~> 13.0)
348
+ annotate
349
+ awesome_print
350
+ bootsnap
351
+ capybara
352
+ cssbundling-rails
353
+ cuprite
354
+ debug
355
+ dotenv
356
+ dotenv-rails
357
+ guard
358
+ guard-rspec
359
+ jbuilder
360
+ jsbundling-rails
361
+ propshaft
362
+ pry
363
+ pry-byebug
364
+ pry-doc
365
+ pry-rails
366
+ puma
367
+ rack_session_access
368
+ rails
369
+ rake
370
+ rspec-rails
371
+ rspec-retry
65
372
  rubocop
66
373
  rubocop-performance
67
374
  rubocop-rails
68
375
  rubocop-rake
69
376
  rubocop-rspec
70
377
  shimmer!
71
- standardrb
378
+ slim-rails
379
+ sqlite3
380
+ standard
381
+ stimulus-rails
382
+ turbo-rails
383
+ web-console
72
384
 
73
385
  BUNDLED WITH
74
- 2.2.32
386
+ 2.3.26
data/Guardfile ADDED
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ clearing :on
4
+
5
+ guard :rspec, cmd: "bin/rspec" do
6
+ require "guard/rspec/dsl"
7
+ dsl = Guard::RSpec::Dsl.new(self)
8
+
9
+ # RSpec files
10
+ rspec = dsl.rspec
11
+ watch(rspec.spec_files)
12
+ end
data/README.md CHANGED
@@ -203,6 +203,30 @@ import { application } from "controllers/application";
203
203
  start({ application });
204
204
  ```
205
205
 
206
+ ## Testing & Demo
207
+
208
+ This library is tested using _RSpec_.
209
+
210
+ ```bash
211
+ bin/rspec
212
+ ```
213
+
214
+ A **system test** suite is included and is performed against a demo _Rails_ application in `spec/rails_app`. This
215
+ application can be started in development mode for "playing around" with _Shimmer_ during its development and add
216
+ more system tests. The `bin/dev` script starts that demo application.
217
+
218
+ The first time, you want to initialize the database and seed it some data.
219
+
220
+ ```bash
221
+ bin/setup
222
+ ```
223
+
224
+ Then you can start the development server.
225
+
226
+ ```bash
227
+ bin/dev
228
+ ```
229
+
206
230
  ## Contributing
207
231
 
208
232
  Bug reports and pull requests are welcome on GitHub at https://github.com/nerdgeschoss/shimmer. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/nerdgeschoss/shimmer/blob/master/CODE_OF_CONDUCT.md).
data/Rakefile CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "bundler/gem_tasks"
4
- task default: %i[]
4
+ task default: []
data/bin/_guard-core ADDED
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application '_guard-core' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
12
+
13
+ bundle_binstub = File.expand_path("bundle", __dir__)
14
+
15
+ if File.file?(bundle_binstub)
16
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
17
+ load(bundle_binstub)
18
+ else
19
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
20
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
21
+ end
22
+ end
23
+
24
+ require "rubygems"
25
+ require "bundler/setup"
26
+
27
+ load Gem.bin_path("guard", "_guard-core")
data/bin/dev ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env bash
2
+ (cd spec/rails_app && bin/dev)
data/bin/guard ADDED
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'guard' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
12
+
13
+ bundle_binstub = File.expand_path("bundle", __dir__)
14
+
15
+ if File.file?(bundle_binstub)
16
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
17
+ load(bundle_binstub)
18
+ else
19
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
20
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
21
+ end
22
+ end
23
+
24
+ require "rubygems"
25
+ require "bundler/setup"
26
+
27
+ load Gem.bin_path("guard", "guard")
data/bin/rake ADDED
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rake' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
12
+
13
+ bundle_binstub = File.expand_path("bundle", __dir__)
14
+
15
+ if File.file?(bundle_binstub)
16
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
17
+ load(bundle_binstub)
18
+ else
19
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
20
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
21
+ end
22
+ end
23
+
24
+ require "rubygems"
25
+ require "bundler/setup"
26
+
27
+ load Gem.bin_path("rake", "rake")
data/bin/rspec ADDED
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rspec' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
12
+
13
+ bundle_binstub = File.expand_path("bundle", __dir__)
14
+
15
+ if File.file?(bundle_binstub)
16
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
17
+ load(bundle_binstub)
18
+ else
19
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
20
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
21
+ end
22
+ end
23
+
24
+ require "rubygems"
25
+ require "bundler/setup"
26
+
27
+ load Gem.bin_path("rspec-core", "rspec")
data/bin/setup CHANGED
@@ -6,3 +6,6 @@ set -vx
6
6
  bundle install
7
7
 
8
8
  # Do any other automated setup that you need to do here
9
+
10
+ # Initialize the Rails demo & tests app.
11
+ (cd spec/rails_app && bin/setup)
@@ -1,15 +1,11 @@
1
+ # Most of those cops are documented here:
2
+ # https://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Style
3
+ #
1
4
  AllCops:
2
5
  NewCops: disable
3
- Exclude:
4
- - '**/vendor/bundle/**/*'
5
- - '**/bin/**/*'
6
- - '**/db/schema.rb'
7
- - '**/node_modules/**/*'
8
6
 
9
7
  require:
10
- - standard
11
- - rubocop-rails
12
- - rubocop-rake
8
+ - standard # https://github.com/standardrb/standard
13
9
 
14
10
  inherit_gem:
15
11
  standard: config/base.yml
@@ -23,10 +19,32 @@ Style/MutableConstant:
23
19
  Enabled: true
24
20
  EnforcedStyle: strict
25
21
 
26
- # Allow `.update_all`.
27
- Rails/SkipsModelValidations:
28
- Enabled: false
22
+ # Pass &:method_name as an argument to index_by instead of a block.
23
+ Style/SymbolProc:
24
+ Enabled: true
25
+
26
+ # Prefer `[:foo, :bar]` to `%i[foo bar]`.
27
+ Style/SymbolArray:
28
+ Enabled: true
29
+ EnforcedStyle: brackets
30
+
31
+ # Prefer `["foo", "bar"]` to `%w[foo bar]`.
32
+ Style/WordArray:
33
+ Enabled: true
34
+ EnforcedStyle: brackets
35
+
36
+ # <% if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.1") %>
37
+ Style/HashSyntax:
38
+ Enabled: true
39
+ EnforcedShorthandSyntax: always
40
+ # <% end %>
29
41
 
30
- # Allow Rake tasks to not require the full Rails app to be loaded.
31
- Rails/RakeEnvironment:
32
- Enabled: false
42
+ # Keep at the end of the file (after the individual cops configuration),
43
+ # otherwise, those cops are not configured properly.
44
+ inherit_from:
45
+ # <% Dir["#{File.expand_path(__dir__)}/rubocop_extensions/*.yml"].each do |filename| %>
46
+ # <% gem_name = filename.delete_suffix(".yml").delete_prefix("#{File.expand_path(__dir__)}/rubocop_extensions/") %>
47
+ # <% if Gem.loaded_specs.key?(gem_name) %>
48
+ - rubocop_extensions/<%= gem_name %>.yml
49
+ # <% end # if Gem.loaded_specs.key? %>
50
+ # <% end # Dir.foreach %>
@@ -0,0 +1,68 @@
1
+ # Documentation on the rules can be found here:
2
+ # https://github.com/DmitryTsepelev/rubocop-graphql/tree/master/lib/rubocop/cop/graphql
3
+ #
4
+ require:
5
+ - rubocop-graphql
6
+
7
+ GraphQL:
8
+ Enabled: false
9
+
10
+ # Keep mutation file ordered.
11
+ GraphQL/OrderedFields:
12
+ Enabled: true
13
+ Exclude:
14
+ - "*"
15
+ Include:
16
+ - '**/mutation_type.rb'
17
+
18
+ # Ensures snake case of argument name.
19
+ GraphQL/ArgumentName:
20
+ Enabled: true
21
+
22
+ # Detects duplicate argument definitions.
23
+ GraphQL/ArgumentUniqueness:
24
+ Enabled: true
25
+
26
+ # Prevents defining unnecessary resolver methods in cases when `:hash_key` option can be used.
27
+ GraphQL/FieldHashKey:
28
+ Enabled: true
29
+
30
+ # Prevents defining unnecessary resolver methods in cases when `:method option` can be used.
31
+ GraphQL/FieldMethod:
32
+ Enabled: true
33
+
34
+ # Ensures snake case of field name.
35
+ GraphQL/FieldName:
36
+ Enabled: true
37
+
38
+ # Detects duplicate field definitions within the same type.
39
+ GraphQL/FieldUniqueness:
40
+ Enabled: true
41
+
42
+ # Ensures type definitions are class-based (no longer legacy).
43
+ GraphQL/LegacyDsl:
44
+ Enabled: true
45
+
46
+ # Ensures fields with multiple definitions are grouped together
47
+ GraphQL/MultipleFieldDefinitions:
48
+ Enabled: true
49
+
50
+ # Forces `Relay::Node` implementations to expose an `authorized?` method.
51
+ GraphQL/NotAuthorizedNodeType:
52
+ Enabled: true
53
+
54
+ # Checks for has an unnecessary argument camelize.
55
+ GraphQL/UnnecessaryArgumentCamelize:
56
+ Enabled: true
57
+
58
+ # Prevents defining an unnecessary `alias`, `method`, or `resolver_method` arguements to fields.
59
+ GraphQL/UnnecessaryFieldAlias:
60
+ Enabled: true
61
+
62
+ # Checks for has an unnecessary field camelize.
63
+ GraphQL/UnnecessaryFieldCamelize:
64
+ Enabled: true
65
+
66
+ # Arguments should either be listed explicitly or `**rest` should be in the resolve signature.
67
+ GraphQL/UnusedArgument:
68
+ Enabled: true
@@ -0,0 +1,34 @@
1
+ AllCops:
2
+ Exclude:
3
+ - '**/vendor/bundle/**/*'
4
+ - '**/db/schema.rb'
5
+
6
+ require:
7
+ - rubocop-rails
8
+
9
+ Rails:
10
+ Enabled: false
11
+
12
+ # Prefer :bad_request over 400 to define HTTP status code.
13
+ Rails/HttpStatus:
14
+ Enabled: true
15
+
16
+ # Prefer index_by over map { ... }.to_h.
17
+ Rails/IndexBy:
18
+ Enabled: true
19
+
20
+ # Prefer index_with over each_with_object.
21
+ Rails/IndexWith:
22
+ Enabled: true
23
+
24
+ # Specify a :dependent option. (https://rails.rubystyle.guide#has_many-has_one-dependent-option)
25
+ Rails/HasManyOrHasOneDependent:
26
+ Enabled: true
27
+
28
+ # Specify an :inverse_of option.
29
+ Rails/InverseOf:
30
+ Enabled: true
31
+
32
+ # Specifying the default value for foreign_key is redundant.
33
+ Rails/RedundantForeignKey:
34
+ Enabled: true
@@ -0,0 +1,208 @@
1
+ require:
2
+ - rubocop-rspec
3
+
4
+ RSpec:
5
+ Enabled: false
6
+
7
+ # Check that instances are not being stubbed globally.
8
+ # Prefer instance doubles over stubbing any instance of a class.
9
+ RSpec/AnyInstance:
10
+ Enabled: true
11
+
12
+ # Checks that around blocks actually run the test.
13
+ # Would be a shame if the test would be green simply because it is not called.
14
+ RSpec/AroundBlock:
15
+ Enabled: true
16
+
17
+ # Be what? Not nil? Present? Truthy?
18
+ RSpec/Be:
19
+ Enabled: true
20
+
21
+ # The be matcher compares by identity while the eq matcher compares using ==.
22
+ # Booleans and nil can be compared by identity and therefore the be matcher is
23
+ # preferable as it is a more strict test.
24
+ RSpec/BeEq:
25
+ Enabled: true
26
+
27
+ # The be matcher compares by identity while the eq matcher compares using ==.
28
+ # Booleans and nil can be compared by identity and therefore the be matcher is
29
+ # preferable as it is a more strict test.
30
+ RSpec/BeEql:
31
+ Enabled: true
32
+
33
+ # Prefer `.to be_nil` to `.to be(nil)`.
34
+ RSpec/BeNil:
35
+ Enabled: true
36
+
37
+ # Avoid `before(:all)`, prefer `before(:each)` within a group.
38
+ RSpec/BeforeAfterAll:
39
+ Enabled: true
40
+
41
+ # Avoid `.to change(...).by(0)`, prefer `not_to change` and `.to not_change` (for composite).
42
+ RSpec/ChangeByZero:
43
+ Enabled: true
44
+
45
+ # Expect expectations in all tests.
46
+ # If it's just expecting it to not raise, wrap it in `expect do ... end.not_to raise`.
47
+ RSpec/EmptyExampleGroup:
48
+ Enabled: true
49
+
50
+ # Don't allow empty hooks.
51
+ RSpec/EmptyHook:
52
+ Enabled: true
53
+
54
+ # Separate groups.
55
+ RSpec/EmptyLineAfterExampleGroup:
56
+ Enabled: true
57
+
58
+ # Separate `let`s from tests.
59
+ RSpec/EmptyLineAfterFinalLet:
60
+ Enabled: true
61
+
62
+ # Separate hooks from tests.
63
+ RSpec/EmptyLineAfterHook:
64
+ Enabled: true
65
+
66
+ # Don't allow specs without description.
67
+ RSpec/ExampleWithoutDescription:
68
+ Enabled: true
69
+
70
+ # Checks for common mistakes in example descriptions.
71
+ RSpec/ExampleWording:
72
+ Enabled: true
73
+
74
+ # Trim descriptions.
75
+ RSpec/ExcessiveDocstringSpacing:
76
+ Enabled: true
77
+
78
+ # Do stdout expectations right.
79
+ RSpec/ExpectOutput:
80
+ Enabled: true
81
+
82
+ # Enforces spec file naming convention.
83
+ RSpec/FilePath:
84
+ Enabled: true
85
+
86
+ # Don't forget focussed tests (expecially useful for the CI to fail).
87
+ RSpec/Focus:
88
+ Enabled: true
89
+ AutoCorrect: false
90
+
91
+ # Checks for before/around/after hooks that come after an example.
92
+ RSpec/HooksBeforeExamples:
93
+ Enabled: true
94
+
95
+ # Don't expect something to be itself.
96
+ RSpec/IdenticalEqualityAssertion:
97
+ Enabled: true
98
+
99
+ # Explicitly declare `it` blocks.
100
+ RSpec/ImplicitBlockExpectation:
101
+ Enabled: true
102
+
103
+ # Prevent instance variable usage in specs.
104
+ RSpec/InstanceVariable:
105
+ Enabled: true
106
+
107
+ # Check that all matcher is used instead of iterating over an array.
108
+ RSpec/IteratedExpectation:
109
+ Enabled: true
110
+
111
+ # Checks that no class, module, or constant is declared.
112
+ # Constants, including classes and modules, when declared in a block scope,
113
+ # are defined in global namespace, and leak between examples.
114
+ # Prevents class re-opening, leading to unpredictable side effects.
115
+ RSpec/LeakyConstantDeclaration:
116
+ Enabled: true
117
+
118
+ # Force `let`s to be before tests.
119
+ RSpec/LetBeforeExamples:
120
+ Enabled: true
121
+
122
+ # Force groups to have descriptions or symbol.
123
+ RSpec/MissingExampleGroupArgument:
124
+ Enabled: true
125
+
126
+ # Files should have only one root `describe` block.
127
+ RSpec/MultipleDescribes:
128
+ Enabled: true
129
+
130
+ # Checks if an example group defines subject multiple times.
131
+ RSpec/MultipleSubjects:
132
+ Enabled: true
133
+
134
+ # Checks if an example contains any expectation.
135
+ RSpec/NoExpectationExample:
136
+ Enabled: false # considered, but gives false positives when expectations are inside of a re-used function
137
+
138
+ # Prefer `expect(...).not_to` to `expect(...).to_not`.
139
+ RSpec/NotToNot:
140
+ Enabled: true
141
+
142
+ # Prevent setting the same `let` block more than once.
143
+ RSpec/OverwritingSetup:
144
+ Enabled: true
145
+
146
+ # Prevent useless `around` hooks.
147
+ RSpec/RedundantAround:
148
+ Enabled: true
149
+
150
+ # Prevent duplicate description.
151
+ RSpec/RepeatedDescription:
152
+ Enabled: true
153
+
154
+ # Prevent duplicate example (test).
155
+ RSpec/RepeatedExample:
156
+ Enabled: true
157
+
158
+ # Detects duplicate in example group body.
159
+ RSpec/RepeatedExampleGroupBody:
160
+ Enabled: true
161
+
162
+ # Detects duplicate in example group description.
163
+ RSpec/RepeatedExampleGroupDescription:
164
+ Enabled: true
165
+
166
+ # Check for repeated include of shared examples.
167
+ RSpec/RepeatedIncludeExample:
168
+ Enabled: true
169
+
170
+ # Keep `let` blocks together.
171
+ RSpec/ScatteredLet:
172
+ Enabled: true
173
+
174
+ # Keep `setup` blocks (ex: group `before`) together.
175
+ RSpec/ScatteredSetup:
176
+ Enabled: true
177
+
178
+ # Checks for proper shared_context and shared_examples usage.
179
+ RSpec/SharedContext:
180
+ Enabled: true
181
+
182
+ # Enforces use of string to titleize shared examples.
183
+ RSpec/SharedExamples:
184
+ Enabled: true
185
+
186
+ # Checks that chains of messages contain more than one element.
187
+ RSpec/SingleArgumentMessageChain:
188
+ Enabled: true
189
+
190
+ # Skip either the whole example of not at all.
191
+ RSpec/SkipBlockInsideExample:
192
+ Enabled: true
193
+
194
+ # Be specific about what exception/error is expected.
195
+ RSpec/UnspecifiedException:
196
+ Enabled: true
197
+
198
+ # Use symbols for `let` and `subject` names.
199
+ RSpec/VariableDefinition:
200
+ Enabled: true
201
+
202
+ # Avoid empty expectation.
203
+ RSpec/VoidExpect:
204
+ Enabled: true
205
+
206
+ # Use proper `yield` stub syntax.
207
+ RSpec/Yield:
208
+ Enabled: true
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ # Specify your gem's dependencies in shimmer.gemspec
6
+ gemspec path: ".."
7
+
8
+ gem "rails", "~> 7.0.0"
9
+ gem "propshaft"
10
+ gem "sqlite3"
11
+ gem "puma"
12
+ gem "jsbundling-rails"
13
+ gem "turbo-rails"
14
+ gem "stimulus-rails"
15
+ gem "cssbundling-rails"
16
+ gem "jbuilder"
17
+ gem "bootsnap", require: false
18
+ gem "dotenv"
19
+ gem "slim-rails"
20
+ gem "awesome_print"
21
+ gem "dotenv-rails"
22
+
23
+ group :development, :test do
24
+ gem "debug", platforms: %i[mri mingw x64_mingw]
25
+ gem "rake"
26
+ gem "rspec-rails"
27
+ gem "rspec-retry"
28
+ gem "pry"
29
+ gem "pry-rails"
30
+ gem "pry-byebug"
31
+ gem "pry-doc"
32
+ gem "guard"
33
+ gem "guard-rspec"
34
+ gem "capybara"
35
+ gem "rack_session_access"
36
+ gem "cuprite"
37
+ gem "standard"
38
+ gem "rubocop"
39
+ gem "rubocop-rails"
40
+ gem "rubocop-performance"
41
+ gem "rubocop-rspec"
42
+ gem "rubocop-rake"
43
+ end
44
+
45
+ group :development do
46
+ gem "web-console"
47
+ gem "annotate"
48
+ end
@@ -10,7 +10,7 @@ module Shimmer
10
10
  def request_details(params)
11
11
  name = params[:user] ? JSON.parse(params[:user])["name"] : {}
12
12
  headers = {
13
- 'Content-Type': "application/x-www-form-urlencoded"
13
+ "Content-Type": "application/x-www-form-urlencoded"
14
14
  }
15
15
  form = {
16
16
  grant_type: "authorization_code",
@@ -72,7 +72,7 @@ module Shimmer
72
72
  classes << "input--error"
73
73
  errors = safe_join(object.errors[method].map { |e| content_tag :div, e, class: "input__error" })
74
74
  end
75
- label = label == false ? nil : self.label(label_method || method, label, class: "input__label")
75
+ label = (label == false) ? nil : self.label(label_method || method, label, class: "input__label")
76
76
  description = description.presence ? content_tag(:div, description, class: "input__description") : nil
77
77
  content_tag(:div, safe_join([label, content, description, errors, extra].compact), class: ["input"] + classes, **options)
78
78
  end
@@ -3,16 +3,22 @@
3
3
  module Shimmer
4
4
  class Config
5
5
  include Singleton
6
+
6
7
  class MissingConfigError < StandardError; end
7
8
 
8
- def method_missing(method_name)
9
+ def method_missing(method_name, **options)
10
+ default_provided = options.key?(:default)
11
+ default_value = options.delete(:default) if default_provided
12
+ raise ArgumentError, "unknown option#{"s" if options.length > 1}: #{options.keys.join(", ")}." if options.any?
13
+
9
14
  method_name = method_name.to_s
10
15
  type = :string
11
16
  key = method_name.delete_suffix("!").delete_suffix("?")
12
17
  required = method_name.end_with?("!")
13
18
  type = :bool if method_name.end_with?("?")
14
19
  value = ENV[key.upcase].presence
15
- value ||= Rails.application.credentials.send(key)
20
+ value ||= Rails.application.credentials.public_send(key)
21
+ value = default_value if value.nil?
16
22
  raise MissingConfigError, "#{key.upcase} environment value is missing" if required && value.blank?
17
23
 
18
24
  coerce value, type
@@ -25,7 +31,7 @@ module Shimmer
25
31
  private
26
32
 
27
33
  def coerce(value, type)
28
- return !value.in?(["n", "0", "no", "false"]) if type == :bool && value.is_a?(String)
34
+ return !value.downcase.in?(["n", "0", "no", "false"]) if type == :bool && value.is_a?(String)
29
35
 
30
36
  value
31
37
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Shimmer
4
- VERSION = "0.0.28"
4
+ VERSION = "0.0.29"
5
5
  end
metadata CHANGED
@@ -1,113 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shimmer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.28
4
+ version: 0.0.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jens Ravens
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-02 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rake
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '13.0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '13.0'
27
- - !ruby/object:Gem::Dependency
28
- name: standardrb
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: rubocop
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: rubocop-rails
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rubocop-performance
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: rubocop-rspec
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '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'
97
- - !ruby/object:Gem::Dependency
98
- name: rubocop-rake
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
11
+ date: 2023-05-08 00:00:00.000000000 Z
12
+ dependencies: []
111
13
  description:
112
14
  email:
113
15
  - jens@nerdgeschoss.de
@@ -118,6 +20,7 @@ files:
118
20
  - ".editorconfig"
119
21
  - ".eslintrc.js"
120
22
  - ".prettierrc"
23
+ - ".rspec"
121
24
  - ".rubocop.yml"
122
25
  - ".ruby-version"
123
26
  - ".solargraph.yml"
@@ -126,14 +29,24 @@ files:
126
29
  - CODE_OF_CONDUCT.md
127
30
  - Gemfile
128
31
  - Gemfile.lock
32
+ - Guardfile
129
33
  - LICENSE.txt
130
34
  - README.md
131
35
  - Rakefile
36
+ - bin/_guard-core
132
37
  - bin/console
38
+ - bin/dev
39
+ - bin/guard
40
+ - bin/rake
41
+ - bin/rspec
133
42
  - bin/rubocop
134
43
  - bin/setup
135
44
  - bin/solargraph
136
45
  - config/rubocop_base.yml
46
+ - config/rubocop_extensions/graphql.yml
47
+ - config/rubocop_extensions/rails.yml
48
+ - config/rubocop_extensions/rspec.yml
49
+ - gemfiles/Gemfile-rails-7-0
137
50
  - lib/shimmer.rb
138
51
  - lib/shimmer/auth.rb
139
52
  - lib/shimmer/auth/apple_provider.rb
@@ -217,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
217
130
  - !ruby/object:Gem::Version
218
131
  version: '0'
219
132
  requirements: []
220
- rubygems_version: 3.2.32
133
+ rubygems_version: 3.1.6
221
134
  signing_key:
222
135
  specification_version: 4
223
136
  summary: Shimmer brings all the bells and whistles of a hotwired application, right