ditty 0.9.1 → 0.10.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.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/.env.test +2 -0
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +23 -4
  5. data/.travis.yml +2 -7
  6. data/Gemfile.ci +0 -15
  7. data/ditty.gemspec +19 -15
  8. data/lib/ditty.rb +2 -2
  9. data/lib/ditty/cli.rb +5 -0
  10. data/lib/ditty/components/ditty.rb +4 -7
  11. data/lib/ditty/controllers/application_controller.rb +6 -5
  12. data/lib/ditty/controllers/audit_logs_controller.rb +2 -0
  13. data/lib/ditty/controllers/auth_controller.rb +5 -2
  14. data/lib/ditty/controllers/component_controller.rb +3 -3
  15. data/lib/ditty/controllers/user_login_traits_controller.rb +28 -1
  16. data/lib/ditty/controllers/users_controller.rb +3 -2
  17. data/lib/ditty/db.rb +4 -3
  18. data/lib/ditty/emails/base.rb +32 -30
  19. data/lib/ditty/generators/crud_generator.rb +51 -41
  20. data/lib/ditty/generators/project_generator.rb +1 -0
  21. data/lib/ditty/helpers/pundit.rb +4 -4
  22. data/lib/ditty/helpers/response.rb +6 -11
  23. data/lib/ditty/helpers/views.rb +21 -3
  24. data/lib/ditty/listener.rb +1 -1
  25. data/lib/ditty/models/base.rb +5 -0
  26. data/lib/ditty/models/identity.rb +7 -7
  27. data/lib/ditty/models/user.rb +9 -1
  28. data/lib/ditty/policies/user_policy.rb +1 -1
  29. data/lib/ditty/services/authentication.rb +19 -9
  30. data/lib/ditty/services/email.rb +13 -13
  31. data/lib/ditty/services/logger.rb +26 -20
  32. data/lib/ditty/services/pagination_wrapper.rb +7 -5
  33. data/lib/ditty/services/settings.rb +7 -6
  34. data/lib/ditty/tasks/ditty.rake +2 -1
  35. data/lib/ditty/templates/application.rb +1 -1
  36. data/lib/ditty/templates/config.ru +2 -2
  37. data/lib/ditty/templates/controller.rb.erb +7 -1
  38. data/{public → lib/ditty/templates/public}/browserconfig.xml +0 -0
  39. data/{public → lib/ditty/templates/public}/css/styles.css +0 -0
  40. data/lib/ditty/templates/public/favicon.ico +0 -0
  41. data/{public → lib/ditty/templates/public}/images/apple-icon.png +0 -0
  42. data/{public → lib/ditty/templates/public}/images/favicon-16x16.png +0 -0
  43. data/{public → lib/ditty/templates/public}/images/favicon-32x32.png +0 -0
  44. data/{public → lib/ditty/templates/public}/images/launcher-icon-1x.png +0 -0
  45. data/{public → lib/ditty/templates/public}/images/launcher-icon-2x.png +0 -0
  46. data/{public → lib/ditty/templates/public}/images/launcher-icon-4x.png +0 -0
  47. data/{public → lib/ditty/templates/public}/images/mstile-150x150.png +0 -0
  48. data/{public → lib/ditty/templates/public}/images/safari-pinned-tab.svg +0 -0
  49. data/{public → lib/ditty/templates/public}/js/scripts.js +0 -0
  50. data/{public/manifest.json → lib/ditty/templates/public/manifest.json.erb} +2 -2
  51. data/lib/ditty/templates/settings.yml.erb +1 -0
  52. data/lib/ditty/templates/spec_helper.rb +1 -1
  53. data/lib/ditty/templates/views/display.haml.tt +1 -1
  54. data/lib/ditty/templates/views/edit.haml.tt +1 -1
  55. data/lib/ditty/templates/views/index.haml.tt +1 -1
  56. data/lib/ditty/templates/views/new.haml.tt +1 -1
  57. data/lib/ditty/version.rb +1 -1
  58. data/spec/ditty/api_spec.rb +1 -1
  59. data/spec/ditty/emails/base_spec.rb +3 -3
  60. data/spec/ditty/emails/forgot_password_spec.rb +3 -2
  61. data/spec/ditty/models/user_spec.rb +3 -3
  62. data/spec/ditty/services/logger_spec.rb +7 -6
  63. data/spec/ditty/services/settings_spec.rb +2 -2
  64. data/spec/factories.rb +4 -4
  65. data/spec/spec_helper.rb +5 -1
  66. data/views/403.haml +1 -1
  67. data/views/500.haml +11 -0
  68. data/views/audit_logs/index.haml +12 -11
  69. data/views/auth/forgot_password.haml +29 -24
  70. data/views/auth/ldap.haml +1 -1
  71. data/views/auth/login.haml +3 -2
  72. data/views/auth/register.haml +3 -2
  73. data/views/auth/reset_password.haml +36 -19
  74. data/views/blank.haml +1 -0
  75. data/views/embedded.haml +17 -11
  76. data/views/layout.haml +16 -8
  77. data/views/partials/actions.haml +15 -14
  78. data/views/partials/filter_control.haml +1 -1
  79. data/views/partials/footer.haml +10 -2
  80. data/views/partials/form_tag.haml +1 -1
  81. data/views/partials/navitems.haml +25 -27
  82. data/views/partials/pager.haml +44 -25
  83. data/views/partials/search.haml +14 -9
  84. data/views/partials/sidebar.haml +2 -2
  85. data/views/partials/sort_ui.haml +2 -0
  86. data/views/partials/timespan_selector.haml +64 -0
  87. data/views/partials/topbar.haml +0 -15
  88. data/views/partials/user_associations.haml +32 -0
  89. data/views/quick_start.haml +23 -0
  90. data/views/roles/display.haml +3 -3
  91. data/views/roles/edit.haml +1 -1
  92. data/views/roles/index.haml +2 -2
  93. data/views/roles/new.haml +1 -1
  94. data/views/user_login_traits/display.haml +1 -1
  95. data/views/user_login_traits/edit.haml +1 -1
  96. data/views/user_login_traits/index.haml +23 -25
  97. data/views/user_login_traits/new.haml +1 -1
  98. data/views/users/display.haml +5 -5
  99. data/views/users/edit.haml +1 -1
  100. data/views/users/index.haml +5 -5
  101. data/views/users/login_traits.haml +2 -2
  102. data/views/users/new.haml +1 -1
  103. data/views/users/profile.haml +4 -4
  104. data/views/users/user.haml +1 -1
  105. metadata +116 -54
@@ -1,7 +1,7 @@
1
1
  .row
2
2
  .col-md-2
3
3
  .col-md-8
4
- .card.card-default
4
+ .card.card-default.shadow
5
5
  .card-body
6
6
  = edit_form_tag "#{base_path}/#{entity.display_id}" do
7
7
  = haml :'users/user', locals: { user: entity }
@@ -4,11 +4,11 @@
4
4
  %table.table.table-striped.table-bordered.table-hover
5
5
  %thead.thead-dark
6
6
  %tr
7
- %th Email
8
- %th Name
9
- %th Surname
7
+ %th= "Email #{sort_ui(:email)}"
8
+ %th= "Name #{sort_ui(:name)}"
9
+ %th= "Surname #{sort_ui(:surname)}"
10
10
  %th Roles
11
- %th Signed Up
11
+ %th= "Signed Up #{sort_ui(:created_at)}"
12
12
  %th
13
13
  %tbody
14
14
  - if list.count > 0
@@ -32,4 +32,4 @@
32
32
  %td.text-center{ colspan: 6 } No records
33
33
 
34
34
  - if list.count > 0
35
- =pagination(list, base_path)
35
+ = pagination(list, base_path)
@@ -1,9 +1,9 @@
1
1
  .row
2
2
  .col-md-12
3
- .card.card-default
3
+ .card.card-default.shadow
4
4
  .card-body
5
5
  %h4.card-title Logins
6
- %table.table.table-striped
6
+ %table.table.table-striped.mb-0
7
7
  %thead.thead-dark
8
8
  %tr
9
9
  %th IP Address
data/views/users/new.haml CHANGED
@@ -1,7 +1,7 @@
1
1
  .row
2
2
  .col-md-2
3
3
  .col-md-8
4
- .card.card-default
4
+ .card.card-default.shadow
5
5
  .card-body
6
6
  = new_form_tag base_path do
7
7
  = haml :'users/identity', locals: { identity: identity }
@@ -1,7 +1,7 @@
1
1
  .row.mb-4
2
2
  .col-md-2
3
3
  .col-md-8
4
- .card.card-default
4
+ .card.card-default.shadow
5
5
  .card-body
6
6
  .author
7
7
  %img.float-right.img-thumbnail{ src: entity.gravatar }
@@ -10,10 +10,10 @@
10
10
  %hr
11
11
  %p.description
12
12
  %label Name:
13
- = entity.name
13
+ = entity.name || '(None)'
14
14
  %p.description
15
15
  %label Surname:
16
- = entity.surname
16
+ = entity.surname || '(None)'
17
17
  %p.description
18
18
  %label Roles:
19
19
  = entity.roles_dataset.map(:name).map(&:titlecase).join(', ')
@@ -33,7 +33,7 @@
33
33
  .row.mb-4
34
34
  .col-md-2
35
35
  .col-md-8
36
- .card.card-default
36
+ .card.card-default.shadow
37
37
  .card-body
38
38
  %h4.card-title Change Password
39
39
  = edit_form_tag("#{base_path}/#{entity.display_id}/identity") do
@@ -1,4 +1,4 @@
1
1
  = form_control(:name, user)
2
2
  = form_control(:surname, user)
3
3
  - if policy(user).permitted_attributes.include? :role_id
4
- = form_control(:role_id, user, type: 'select', options: Ditty::Role.order(:name).as_hash(:id, :name), name: 'user[role_id][]', field: :roles, multiple: true)
4
+ = form_control(:role_id, user, type: 'select', options: Ditty::Role.order(:name).as_hash(:id, :name), name: 'user[role_id][]', value: user.new? ? [] : user.roles_dataset.map(:id), multiple: true)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ditty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jurgens du Toit
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-23 00:00:00.000000000 Z
11
+ date: 2021-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1'
27
27
  - !ruby/object:Gem::Dependency
28
- name: database_cleaner
28
+ name: dotenv
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: database_cleaner
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: factory_bot
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +67,7 @@ dependencies:
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: rack-test
70
+ name: faker
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - ">="
@@ -80,6 +94,20 @@ dependencies:
80
94
  - - ">="
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rack-test
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'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: rspec
85
113
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +192,34 @@ dependencies:
164
192
  - - ">="
165
193
  - !ruby/object:Gem::Version
166
194
  version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: simplecov
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 0.13.0
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 0.13.0
209
+ - !ruby/object:Gem::Dependency
210
+ name: sqlite3
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
167
223
  - !ruby/object:Gem::Dependency
168
224
  name: timecop
169
225
  requirement: !ruby/object:Gem::Requirement
@@ -184,42 +240,42 @@ dependencies:
184
240
  requirements:
185
241
  - - ">="
186
242
  - !ruby/object:Gem::Version
187
- version: '3'
243
+ version: '6'
188
244
  type: :runtime
189
245
  prerelease: false
190
246
  version_requirements: !ruby/object:Gem::Requirement
191
247
  requirements:
192
248
  - - ">="
193
249
  - !ruby/object:Gem::Version
194
- version: '3'
250
+ version: '6'
195
251
  - !ruby/object:Gem::Dependency
196
252
  name: bcrypt
197
253
  requirement: !ruby/object:Gem::Requirement
198
254
  requirements:
199
- - - "~>"
255
+ - - ">="
200
256
  - !ruby/object:Gem::Version
201
257
  version: '3.1'
202
258
  type: :runtime
203
259
  prerelease: false
204
260
  version_requirements: !ruby/object:Gem::Requirement
205
261
  requirements:
206
- - - "~>"
262
+ - - ">="
207
263
  - !ruby/object:Gem::Version
208
264
  version: '3.1'
209
265
  - !ruby/object:Gem::Dependency
210
266
  name: browser
211
267
  requirement: !ruby/object:Gem::Requirement
212
268
  requirements:
213
- - - "~>"
269
+ - - ">="
214
270
  - !ruby/object:Gem::Version
215
- version: '2.5'
271
+ version: '5.3'
216
272
  type: :runtime
217
273
  prerelease: false
218
274
  version_requirements: !ruby/object:Gem::Requirement
219
275
  requirements:
220
- - - "~>"
276
+ - - ">="
221
277
  - !ruby/object:Gem::Version
222
- version: '2.5'
278
+ version: '5.3'
223
279
  - !ruby/object:Gem::Dependency
224
280
  name: dotenv
225
281
  requirement: !ruby/object:Gem::Requirement
@@ -238,28 +294,28 @@ dependencies:
238
294
  name: haml
239
295
  requirement: !ruby/object:Gem::Requirement
240
296
  requirements:
241
- - - "~>"
297
+ - - ">="
242
298
  - !ruby/object:Gem::Version
243
299
  version: 5.1.2
244
300
  type: :runtime
245
301
  prerelease: false
246
302
  version_requirements: !ruby/object:Gem::Requirement
247
303
  requirements:
248
- - - "~>"
304
+ - - ">="
249
305
  - !ruby/object:Gem::Version
250
306
  version: 5.1.2
251
307
  - !ruby/object:Gem::Dependency
252
308
  name: logger
253
309
  requirement: !ruby/object:Gem::Requirement
254
310
  requirements:
255
- - - "~>"
311
+ - - ">="
256
312
  - !ruby/object:Gem::Version
257
313
  version: '1.0'
258
314
  type: :runtime
259
315
  prerelease: false
260
316
  version_requirements: !ruby/object:Gem::Requirement
261
317
  requirements:
262
- - - "~>"
318
+ - - ">="
263
319
  - !ruby/object:Gem::Version
264
320
  version: '1.0'
265
321
  - !ruby/object:Gem::Dependency
@@ -336,114 +392,114 @@ dependencies:
336
392
  name: rack-contrib
337
393
  requirement: !ruby/object:Gem::Requirement
338
394
  requirements:
339
- - - "~>"
395
+ - - ">="
340
396
  - !ruby/object:Gem::Version
341
- version: '1.0'
397
+ version: '2.0'
342
398
  type: :runtime
343
399
  prerelease: false
344
400
  version_requirements: !ruby/object:Gem::Requirement
345
401
  requirements:
346
- - - "~>"
402
+ - - ">="
347
403
  - !ruby/object:Gem::Version
348
- version: '1.0'
404
+ version: '2.0'
349
405
  - !ruby/object:Gem::Dependency
350
406
  name: rack_csrf
351
407
  requirement: !ruby/object:Gem::Requirement
352
408
  requirements:
353
- - - "~>"
409
+ - - ">="
354
410
  - !ruby/object:Gem::Version
355
- version: '1.0'
411
+ version: '2.0'
356
412
  type: :runtime
357
413
  prerelease: false
358
414
  version_requirements: !ruby/object:Gem::Requirement
359
415
  requirements:
360
- - - "~>"
416
+ - - ">="
361
417
  - !ruby/object:Gem::Version
362
- version: '1.0'
418
+ version: '2.0'
363
419
  - !ruby/object:Gem::Dependency
364
420
  name: rake
365
421
  requirement: !ruby/object:Gem::Requirement
366
422
  requirements:
367
- - - "~>"
423
+ - - ">="
368
424
  - !ruby/object:Gem::Version
369
- version: '12.0'
425
+ version: '13.0'
370
426
  type: :runtime
371
427
  prerelease: false
372
428
  version_requirements: !ruby/object:Gem::Requirement
373
429
  requirements:
374
- - - "~>"
430
+ - - ">="
375
431
  - !ruby/object:Gem::Version
376
- version: '12.0'
432
+ version: '13.0'
377
433
  - !ruby/object:Gem::Dependency
378
434
  name: sequel
379
435
  requirement: !ruby/object:Gem::Requirement
380
436
  requirements:
381
437
  - - ">="
382
438
  - !ruby/object:Gem::Version
383
- version: '4.0'
439
+ version: '5.0'
384
440
  type: :runtime
385
441
  prerelease: false
386
442
  version_requirements: !ruby/object:Gem::Requirement
387
443
  requirements:
388
444
  - - ">="
389
445
  - !ruby/object:Gem::Version
390
- version: '4.0'
446
+ version: '5.0'
391
447
  - !ruby/object:Gem::Dependency
392
448
  name: sinatra
393
449
  requirement: !ruby/object:Gem::Requirement
394
450
  requirements:
395
451
  - - ">="
396
452
  - !ruby/object:Gem::Version
397
- version: '2.0'
453
+ version: '2.1'
398
454
  type: :runtime
399
455
  prerelease: false
400
456
  version_requirements: !ruby/object:Gem::Requirement
401
457
  requirements:
402
458
  - - ">="
403
459
  - !ruby/object:Gem::Version
404
- version: '2.0'
460
+ version: '2.1'
405
461
  - !ruby/object:Gem::Dependency
406
462
  name: sinatra-contrib
407
463
  requirement: !ruby/object:Gem::Requirement
408
464
  requirements:
409
- - - "~>"
465
+ - - ">="
410
466
  - !ruby/object:Gem::Version
411
467
  version: '2.0'
412
468
  type: :runtime
413
469
  prerelease: false
414
470
  version_requirements: !ruby/object:Gem::Requirement
415
471
  requirements:
416
- - - "~>"
472
+ - - ">="
417
473
  - !ruby/object:Gem::Version
418
474
  version: '2.0'
419
475
  - !ruby/object:Gem::Dependency
420
476
  name: sinatra-flash
421
477
  requirement: !ruby/object:Gem::Requirement
422
478
  requirements:
423
- - - "~>"
479
+ - - ">="
424
480
  - !ruby/object:Gem::Version
425
481
  version: '0.3'
426
482
  type: :runtime
427
483
  prerelease: false
428
484
  version_requirements: !ruby/object:Gem::Requirement
429
485
  requirements:
430
- - - "~>"
486
+ - - ">="
431
487
  - !ruby/object:Gem::Version
432
488
  version: '0.3'
433
489
  - !ruby/object:Gem::Dependency
434
490
  name: sinatra-param
435
491
  requirement: !ruby/object:Gem::Requirement
436
492
  requirements:
437
- - - "~>"
493
+ - - ">="
438
494
  - !ruby/object:Gem::Version
439
- version: '1.5'
495
+ version: '1.6'
440
496
  type: :runtime
441
497
  prerelease: false
442
498
  version_requirements: !ruby/object:Gem::Requirement
443
499
  requirements:
444
- - - "~>"
500
+ - - ">="
445
501
  - !ruby/object:Gem::Version
446
- version: '1.5'
502
+ version: '1.6'
447
503
  - !ruby/object:Gem::Dependency
448
504
  name: thor
449
505
  requirement: !ruby/object:Gem::Requirement
@@ -508,6 +564,7 @@ executables:
508
564
  extensions: []
509
565
  extra_rdoc_files: []
510
566
  files:
567
+ - ".env.test"
511
568
  - ".gitignore"
512
569
  - ".pryrc"
513
570
  - ".rspec"
@@ -588,8 +645,21 @@ files:
588
645
  - lib/ditty/templates/model.rb.erb
589
646
  - lib/ditty/templates/pids/.empty_directory
590
647
  - lib/ditty/templates/policy.rb.erb
648
+ - lib/ditty/templates/public/browserconfig.xml
591
649
  - lib/ditty/templates/public/css/sb-admin-2.min.css
650
+ - lib/ditty/templates/public/css/styles.css
651
+ - lib/ditty/templates/public/favicon.ico
652
+ - lib/ditty/templates/public/images/apple-icon.png
653
+ - lib/ditty/templates/public/images/favicon-16x16.png
654
+ - lib/ditty/templates/public/images/favicon-32x32.png
655
+ - lib/ditty/templates/public/images/launcher-icon-1x.png
656
+ - lib/ditty/templates/public/images/launcher-icon-2x.png
657
+ - lib/ditty/templates/public/images/launcher-icon-4x.png
658
+ - lib/ditty/templates/public/images/mstile-150x150.png
659
+ - lib/ditty/templates/public/images/safari-pinned-tab.svg
592
660
  - lib/ditty/templates/public/js/sb-admin-2.min.js
661
+ - lib/ditty/templates/public/js/scripts.js
662
+ - lib/ditty/templates/public/manifest.json.erb
593
663
  - lib/ditty/templates/settings.yml.erb
594
664
  - lib/ditty/templates/sidekiq.rb
595
665
  - lib/ditty/templates/sidekiq.yml
@@ -609,18 +679,6 @@ files:
609
679
  - migrate/20181209_add_user_login_traits.rb
610
680
  - migrate/20181209_extend_audit_log.rb
611
681
  - migrate/20190220_add_parent_id_to_roles.rb
612
- - public/browserconfig.xml
613
- - public/css/styles.css
614
- - public/images/apple-icon.png
615
- - public/images/favicon-16x16.png
616
- - public/images/favicon-32x32.png
617
- - public/images/launcher-icon-1x.png
618
- - public/images/launcher-icon-2x.png
619
- - public/images/launcher-icon-4x.png
620
- - public/images/mstile-150x150.png
621
- - public/images/safari-pinned-tab.svg
622
- - public/js/scripts.js
623
- - public/manifest.json
624
682
  - spec/ditty/api_spec.rb
625
683
  - spec/ditty/controllers/roles_spec.rb
626
684
  - spec/ditty/controllers/user_login_traits_spec.rb
@@ -643,6 +701,7 @@ files:
643
701
  - views/400.haml
644
702
  - views/403.haml
645
703
  - views/404.haml
704
+ - views/500.haml
646
705
  - views/audit_logs/index.haml
647
706
  - views/auth/forgot_password.haml
648
707
  - views/auth/identity.haml
@@ -673,7 +732,11 @@ files:
673
732
  - views/partials/pager.haml
674
733
  - views/partials/search.haml
675
734
  - views/partials/sidebar.haml
735
+ - views/partials/sort_ui.haml
736
+ - views/partials/timespan_selector.haml
676
737
  - views/partials/topbar.haml
738
+ - views/partials/user_associations.haml
739
+ - views/quick_start.haml
677
740
  - views/roles/display.haml
678
741
  - views/roles/edit.haml
679
742
  - views/roles/form.haml
@@ -712,8 +775,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
712
775
  - !ruby/object:Gem::Version
713
776
  version: '0'
714
777
  requirements: []
715
- rubyforge_project:
716
- rubygems_version: 2.7.7
778
+ rubygems_version: 3.0.8
717
779
  signing_key:
718
780
  specification_version: 4
719
781
  summary: Sinatra Based Application Framework