ditty 0.8.0 → 0.10.2

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 (169) hide show
  1. checksums.yaml +4 -4
  2. data/.env.test +2 -0
  3. data/.gitignore +3 -0
  4. data/.pryrc +2 -0
  5. data/.rubocop.yml +23 -4
  6. data/.travis.yml +4 -8
  7. data/CNAME +1 -0
  8. data/Dockerfile +18 -0
  9. data/Gemfile.ci +0 -17
  10. data/Rakefile +2 -2
  11. data/_config.yml +1 -0
  12. data/config.ru +4 -4
  13. data/ditty.gemspec +28 -18
  14. data/docs/CNAME +1 -0
  15. data/docs/_config.yml +1 -0
  16. data/docs/index.md +34 -0
  17. data/exe/ditty +2 -0
  18. data/lib/ditty/cli.rb +41 -5
  19. data/lib/ditty/components/{app.rb → ditty.rb} +18 -16
  20. data/lib/ditty/controllers/{application.rb → application_controller.rb} +63 -34
  21. data/lib/ditty/controllers/{audit_logs.rb → audit_logs_controller.rb} +4 -2
  22. data/lib/ditty/controllers/{auth.rb → auth_controller.rb} +22 -18
  23. data/lib/ditty/controllers/{component.rb → component_controller.rb} +23 -20
  24. data/lib/ditty/controllers/{main.rb → main_controller.rb} +6 -2
  25. data/lib/ditty/controllers/roles_controller.rb +23 -0
  26. data/lib/ditty/controllers/user_login_traits_controller.rb +46 -0
  27. data/lib/ditty/controllers/{users.rb → users_controller.rb} +13 -11
  28. data/lib/ditty/db.rb +7 -5
  29. data/lib/ditty/emails/base.rb +37 -32
  30. data/lib/ditty/generators/crud_generator.rb +114 -0
  31. data/lib/ditty/generators/migration_generator.rb +26 -0
  32. data/lib/ditty/generators/project_generator.rb +52 -0
  33. data/lib/ditty/helpers/component.rb +2 -1
  34. data/lib/ditty/helpers/pundit.rb +24 -8
  35. data/lib/ditty/helpers/response.rb +15 -13
  36. data/lib/ditty/helpers/views.rb +28 -6
  37. data/lib/ditty/listener.rb +6 -4
  38. data/lib/ditty/memcached.rb +8 -0
  39. data/lib/ditty/middleware/accept_extension.rb +2 -2
  40. data/lib/ditty/middleware/error_catchall.rb +2 -2
  41. data/lib/ditty/models/base.rb +9 -0
  42. data/lib/ditty/models/identity.rb +11 -7
  43. data/lib/ditty/models/role.rb +1 -0
  44. data/lib/ditty/models/user.rb +23 -2
  45. data/lib/ditty/policies/role_policy.rb +1 -1
  46. data/lib/ditty/policies/user_login_trait_policy.rb +1 -1
  47. data/lib/ditty/policies/user_policy.rb +1 -1
  48. data/lib/ditty/services/authentication.rb +27 -16
  49. data/lib/ditty/services/email.rb +19 -15
  50. data/lib/ditty/services/logger.rb +26 -20
  51. data/lib/ditty/services/pagination_wrapper.rb +7 -5
  52. data/lib/ditty/services/settings.rb +7 -6
  53. data/lib/ditty/tasks/ditty.rake +19 -1
  54. data/lib/ditty/tasks/omniauth-ldap.rake +2 -2
  55. data/lib/ditty/templates/.gitignore +5 -0
  56. data/lib/ditty/templates/.rspec +2 -0
  57. data/lib/ditty/templates/.rubocop.yml +7 -0
  58. data/lib/ditty/templates/Rakefile +12 -0
  59. data/lib/ditty/templates/application.rb +12 -0
  60. data/lib/ditty/templates/config.ru +37 -0
  61. data/lib/ditty/templates/controller.rb.erb +64 -0
  62. data/lib/ditty/templates/env.example +4 -0
  63. data/lib/ditty/templates/lib/project.rb.erb +5 -0
  64. data/lib/ditty/templates/logs/.empty_directory +0 -0
  65. data/lib/ditty/templates/migration.rb.erb +7 -0
  66. data/lib/ditty/templates/model.rb.erb +26 -0
  67. data/lib/ditty/templates/pids/.empty_directory +0 -0
  68. data/lib/ditty/templates/policy.rb.erb +48 -0
  69. data/{public → lib/ditty/templates/public}/browserconfig.xml +0 -0
  70. data/lib/ditty/templates/public/css/sb-admin-2.min.css +10 -0
  71. data/lib/ditty/templates/public/css/styles.css +13 -0
  72. data/lib/ditty/templates/public/favicon.ico +0 -0
  73. data/{public → lib/ditty/templates/public}/images/apple-icon.png +0 -0
  74. data/{public → lib/ditty/templates/public}/images/favicon-16x16.png +0 -0
  75. data/{public → lib/ditty/templates/public}/images/favicon-32x32.png +0 -0
  76. data/{public → lib/ditty/templates/public}/images/launcher-icon-1x.png +0 -0
  77. data/{public → lib/ditty/templates/public}/images/launcher-icon-2x.png +0 -0
  78. data/{public → lib/ditty/templates/public}/images/launcher-icon-4x.png +0 -0
  79. data/{public → lib/ditty/templates/public}/images/mstile-150x150.png +0 -0
  80. data/{public → lib/ditty/templates/public}/images/safari-pinned-tab.svg +0 -0
  81. data/lib/ditty/templates/public/js/sb-admin-2.min.js +7 -0
  82. data/lib/ditty/templates/public/js/scripts.js +1 -0
  83. data/{public/manifest.json → lib/ditty/templates/public/manifest.json.erb} +2 -2
  84. data/lib/ditty/templates/settings.yml.erb +29 -0
  85. data/lib/ditty/templates/sidekiq.rb +18 -0
  86. data/lib/ditty/templates/sidekiq.yml +9 -0
  87. data/lib/ditty/templates/spec_helper.rb +43 -0
  88. data/lib/ditty/templates/type.rb.erb +21 -0
  89. data/lib/ditty/templates/views/display.haml.tt +20 -0
  90. data/lib/ditty/templates/views/edit.haml.tt +10 -0
  91. data/lib/ditty/templates/views/form.haml.tt +11 -0
  92. data/lib/ditty/templates/views/index.haml.tt +29 -0
  93. data/lib/ditty/templates/views/new.haml.tt +10 -0
  94. data/lib/ditty/version.rb +1 -1
  95. data/lib/ditty.rb +6 -4
  96. data/lib/rubocop/cop/ditty/call_services_directly.rb +2 -2
  97. data/migrate/20181209_add_user_login_traits.rb +4 -4
  98. data/migrate/20190220_add_parent_id_to_roles.rb +9 -0
  99. data/spec/ditty/api_spec.rb +51 -0
  100. data/spec/ditty/controllers/roles_spec.rb +67 -0
  101. data/spec/ditty/controllers/user_login_traits_spec.rb +72 -0
  102. data/spec/ditty/controllers/users_spec.rb +72 -0
  103. data/spec/ditty/emails/base_spec.rb +76 -0
  104. data/spec/ditty/emails/forgot_password_spec.rb +20 -0
  105. data/spec/ditty/helpers/component_spec.rb +85 -0
  106. data/spec/ditty/models/user_spec.rb +36 -0
  107. data/spec/ditty/services/email_spec.rb +36 -0
  108. data/spec/ditty/services/logger_spec.rb +68 -0
  109. data/spec/ditty/services/settings_spec.rb +63 -0
  110. data/spec/ditty_spec.rb +9 -0
  111. data/spec/factories.rb +46 -0
  112. data/spec/fixtures/logger.yml +17 -0
  113. data/spec/fixtures/section.yml +3 -0
  114. data/spec/fixtures/settings.yml +8 -0
  115. data/spec/spec_helper.rb +51 -0
  116. data/spec/support/api_shared_examples.rb +250 -0
  117. data/spec/support/crud_shared_examples.rb +145 -0
  118. data/views/403.haml +1 -1
  119. data/views/404.haml +2 -4
  120. data/views/500.haml +11 -0
  121. data/views/audit_logs/index.haml +32 -33
  122. data/views/auth/forgot_password.haml +32 -16
  123. data/views/auth/identity.haml +14 -13
  124. data/views/auth/ldap.haml +2 -2
  125. data/views/auth/login.haml +23 -17
  126. data/views/auth/register.haml +20 -18
  127. data/views/auth/register_identity.haml +27 -12
  128. data/views/auth/reset_password.haml +36 -19
  129. data/views/blank.haml +43 -0
  130. data/views/embedded.haml +17 -11
  131. data/views/index.haml +1 -1
  132. data/views/layout.haml +45 -30
  133. data/views/partials/actions.haml +15 -14
  134. data/views/partials/content_tag.haml +0 -0
  135. data/views/partials/delete_form.haml +1 -1
  136. data/views/partials/filter_control.haml +2 -2
  137. data/views/partials/footer.haml +6 -5
  138. data/views/partials/form_control.haml +19 -12
  139. data/views/partials/form_tag.haml +1 -1
  140. data/views/partials/navitems.haml +42 -0
  141. data/views/partials/notifications.haml +12 -8
  142. data/views/partials/pager.haml +44 -25
  143. data/views/partials/search.haml +15 -11
  144. data/views/partials/sidebar.haml +15 -37
  145. data/views/partials/sort_ui.haml +2 -0
  146. data/views/partials/topbar.haml +53 -0
  147. data/views/partials/user_associations.haml +32 -0
  148. data/views/quick_start.haml +23 -0
  149. data/views/roles/display.haml +27 -6
  150. data/views/roles/edit.haml +3 -3
  151. data/views/roles/form.haml +1 -0
  152. data/views/roles/index.haml +23 -16
  153. data/views/roles/new.haml +2 -2
  154. data/views/user_login_traits/display.haml +4 -4
  155. data/views/user_login_traits/edit.haml +3 -3
  156. data/views/user_login_traits/index.haml +23 -25
  157. data/views/user_login_traits/new.haml +2 -2
  158. data/views/users/display.haml +14 -15
  159. data/views/users/edit.haml +3 -3
  160. data/views/users/form.haml +0 -0
  161. data/views/users/index.haml +31 -24
  162. data/views/users/login_traits.haml +6 -8
  163. data/views/users/new.haml +2 -2
  164. data/views/users/profile.haml +15 -15
  165. data/views/users/user.haml +1 -1
  166. metadata +271 -63
  167. data/lib/ditty/controllers/roles.rb +0 -13
  168. data/lib/ditty/controllers/user_login_traits.rb +0 -18
  169. data/views/partials/navbar.haml +0 -22
@@ -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.select(:id, :name).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.8.0
4
+ version: 0.10.2
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: 2019-01-30 00:00:00.000000000 Z
11
+ date: 2021-09-08 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
@@ -94,6 +122,104 @@ dependencies:
94
122
  - - "~>"
95
123
  - !ruby/object:Gem::Version
96
124
  version: '3.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop-performance
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rubocop-rspec
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rubocop-sequel
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: rubocop-thread_safety
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
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'
97
223
  - !ruby/object:Gem::Dependency
98
224
  name: timecop
99
225
  requirement: !ruby/object:Gem::Requirement
@@ -114,68 +240,82 @@ dependencies:
114
240
  requirements:
115
241
  - - ">="
116
242
  - !ruby/object:Gem::Version
117
- version: '3'
243
+ version: '6'
118
244
  type: :runtime
119
245
  prerelease: false
120
246
  version_requirements: !ruby/object:Gem::Requirement
121
247
  requirements:
122
248
  - - ">="
123
249
  - !ruby/object:Gem::Version
124
- version: '3'
250
+ version: '6'
125
251
  - !ruby/object:Gem::Dependency
126
252
  name: bcrypt
127
253
  requirement: !ruby/object:Gem::Requirement
128
254
  requirements:
129
- - - "~>"
255
+ - - ">="
130
256
  - !ruby/object:Gem::Version
131
257
  version: '3.1'
132
258
  type: :runtime
133
259
  prerelease: false
134
260
  version_requirements: !ruby/object:Gem::Requirement
135
261
  requirements:
136
- - - "~>"
262
+ - - ">="
137
263
  - !ruby/object:Gem::Version
138
264
  version: '3.1'
139
265
  - !ruby/object:Gem::Dependency
140
266
  name: browser
141
267
  requirement: !ruby/object:Gem::Requirement
142
268
  requirements:
143
- - - "~>"
269
+ - - ">="
144
270
  - !ruby/object:Gem::Version
145
- version: '2.5'
271
+ version: '5.3'
146
272
  type: :runtime
147
273
  prerelease: false
148
274
  version_requirements: !ruby/object:Gem::Requirement
149
275
  requirements:
150
- - - "~>"
276
+ - - ">="
151
277
  - !ruby/object:Gem::Version
152
- version: '2.5'
278
+ version: '5.3'
279
+ - !ruby/object:Gem::Dependency
280
+ name: dotenv
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '2'
286
+ type: :runtime
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '2'
153
293
  - !ruby/object:Gem::Dependency
154
294
  name: haml
155
295
  requirement: !ruby/object:Gem::Requirement
156
296
  requirements:
157
- - - "~>"
297
+ - - ">="
158
298
  - !ruby/object:Gem::Version
159
- version: '5.0'
299
+ version: 5.1.2
160
300
  type: :runtime
161
301
  prerelease: false
162
302
  version_requirements: !ruby/object:Gem::Requirement
163
303
  requirements:
164
- - - "~>"
304
+ - - ">="
165
305
  - !ruby/object:Gem::Version
166
- version: '5.0'
306
+ version: 5.1.2
167
307
  - !ruby/object:Gem::Dependency
168
308
  name: logger
169
309
  requirement: !ruby/object:Gem::Requirement
170
310
  requirements:
171
- - - "~>"
311
+ - - ">="
172
312
  - !ruby/object:Gem::Version
173
313
  version: '1.0'
174
314
  type: :runtime
175
315
  prerelease: false
176
316
  version_requirements: !ruby/object:Gem::Requirement
177
317
  requirements:
178
- - - "~>"
318
+ - - ">="
179
319
  - !ruby/object:Gem::Version
180
320
  version: '1.0'
181
321
  - !ruby/object:Gem::Dependency
@@ -252,114 +392,114 @@ dependencies:
252
392
  name: rack-contrib
253
393
  requirement: !ruby/object:Gem::Requirement
254
394
  requirements:
255
- - - "~>"
395
+ - - ">="
256
396
  - !ruby/object:Gem::Version
257
- version: '1.0'
397
+ version: '2.0'
258
398
  type: :runtime
259
399
  prerelease: false
260
400
  version_requirements: !ruby/object:Gem::Requirement
261
401
  requirements:
262
- - - "~>"
402
+ - - ">="
263
403
  - !ruby/object:Gem::Version
264
- version: '1.0'
404
+ version: '2.0'
265
405
  - !ruby/object:Gem::Dependency
266
406
  name: rack_csrf
267
407
  requirement: !ruby/object:Gem::Requirement
268
408
  requirements:
269
- - - "~>"
409
+ - - ">="
270
410
  - !ruby/object:Gem::Version
271
- version: '1.0'
411
+ version: '2.0'
272
412
  type: :runtime
273
413
  prerelease: false
274
414
  version_requirements: !ruby/object:Gem::Requirement
275
415
  requirements:
276
- - - "~>"
416
+ - - ">="
277
417
  - !ruby/object:Gem::Version
278
- version: '1.0'
418
+ version: '2.0'
279
419
  - !ruby/object:Gem::Dependency
280
420
  name: rake
281
421
  requirement: !ruby/object:Gem::Requirement
282
422
  requirements:
283
- - - "~>"
423
+ - - ">="
284
424
  - !ruby/object:Gem::Version
285
- version: '12.0'
425
+ version: '13.0'
286
426
  type: :runtime
287
427
  prerelease: false
288
428
  version_requirements: !ruby/object:Gem::Requirement
289
429
  requirements:
290
- - - "~>"
430
+ - - ">="
291
431
  - !ruby/object:Gem::Version
292
- version: '12.0'
432
+ version: '13.0'
293
433
  - !ruby/object:Gem::Dependency
294
434
  name: sequel
295
435
  requirement: !ruby/object:Gem::Requirement
296
436
  requirements:
297
437
  - - ">="
298
438
  - !ruby/object:Gem::Version
299
- version: '4.0'
439
+ version: '5.0'
300
440
  type: :runtime
301
441
  prerelease: false
302
442
  version_requirements: !ruby/object:Gem::Requirement
303
443
  requirements:
304
444
  - - ">="
305
445
  - !ruby/object:Gem::Version
306
- version: '4.0'
446
+ version: '5.0'
307
447
  - !ruby/object:Gem::Dependency
308
448
  name: sinatra
309
449
  requirement: !ruby/object:Gem::Requirement
310
450
  requirements:
311
451
  - - ">="
312
452
  - !ruby/object:Gem::Version
313
- version: '2.0'
453
+ version: '2.1'
314
454
  type: :runtime
315
455
  prerelease: false
316
456
  version_requirements: !ruby/object:Gem::Requirement
317
457
  requirements:
318
458
  - - ">="
319
459
  - !ruby/object:Gem::Version
320
- version: '2.0'
460
+ version: '2.1'
321
461
  - !ruby/object:Gem::Dependency
322
462
  name: sinatra-contrib
323
463
  requirement: !ruby/object:Gem::Requirement
324
464
  requirements:
325
- - - "~>"
465
+ - - ">="
326
466
  - !ruby/object:Gem::Version
327
467
  version: '2.0'
328
468
  type: :runtime
329
469
  prerelease: false
330
470
  version_requirements: !ruby/object:Gem::Requirement
331
471
  requirements:
332
- - - "~>"
472
+ - - ">="
333
473
  - !ruby/object:Gem::Version
334
474
  version: '2.0'
335
475
  - !ruby/object:Gem::Dependency
336
476
  name: sinatra-flash
337
477
  requirement: !ruby/object:Gem::Requirement
338
478
  requirements:
339
- - - "~>"
479
+ - - ">="
340
480
  - !ruby/object:Gem::Version
341
481
  version: '0.3'
342
482
  type: :runtime
343
483
  prerelease: false
344
484
  version_requirements: !ruby/object:Gem::Requirement
345
485
  requirements:
346
- - - "~>"
486
+ - - ">="
347
487
  - !ruby/object:Gem::Version
348
488
  version: '0.3'
349
489
  - !ruby/object:Gem::Dependency
350
490
  name: sinatra-param
351
491
  requirement: !ruby/object:Gem::Requirement
352
492
  requirements:
353
- - - "~>"
493
+ - - ">="
354
494
  - !ruby/object:Gem::Version
355
- version: '1.5'
495
+ version: '1.6'
356
496
  type: :runtime
357
497
  prerelease: false
358
498
  version_requirements: !ruby/object:Gem::Requirement
359
499
  requirements:
360
- - - "~>"
500
+ - - ">="
361
501
  - !ruby/object:Gem::Version
362
- version: '1.5'
502
+ version: '1.6'
363
503
  - !ruby/object:Gem::Dependency
364
504
  name: thor
365
505
  requirement: !ruby/object:Gem::Requirement
@@ -424,39 +564,50 @@ executables:
424
564
  extensions: []
425
565
  extra_rdoc_files: []
426
566
  files:
567
+ - ".env.test"
427
568
  - ".gitignore"
428
569
  - ".pryrc"
429
570
  - ".rspec"
430
571
  - ".rubocop.yml"
431
572
  - ".travis.yml"
573
+ - CNAME
432
574
  - Contributors.md
575
+ - Dockerfile
433
576
  - Gemfile.ci
434
577
  - License.txt
435
578
  - Rakefile
436
579
  - Readme.md
580
+ - _config.yml
437
581
  - config.ru
438
582
  - ditty.gemspec
583
+ - docs/CNAME
584
+ - docs/_config.yml
585
+ - docs/index.md
439
586
  - exe/ditty
440
587
  - lib/ditty.rb
441
588
  - lib/ditty/cli.rb
442
- - lib/ditty/components/app.rb
443
- - lib/ditty/controllers/application.rb
444
- - lib/ditty/controllers/audit_logs.rb
445
- - lib/ditty/controllers/auth.rb
446
- - lib/ditty/controllers/component.rb
447
- - lib/ditty/controllers/main.rb
448
- - lib/ditty/controllers/roles.rb
449
- - lib/ditty/controllers/user_login_traits.rb
450
- - lib/ditty/controllers/users.rb
589
+ - lib/ditty/components/ditty.rb
590
+ - lib/ditty/controllers/application_controller.rb
591
+ - lib/ditty/controllers/audit_logs_controller.rb
592
+ - lib/ditty/controllers/auth_controller.rb
593
+ - lib/ditty/controllers/component_controller.rb
594
+ - lib/ditty/controllers/main_controller.rb
595
+ - lib/ditty/controllers/roles_controller.rb
596
+ - lib/ditty/controllers/user_login_traits_controller.rb
597
+ - lib/ditty/controllers/users_controller.rb
451
598
  - lib/ditty/db.rb
452
599
  - lib/ditty/emails/base.rb
453
600
  - lib/ditty/emails/forgot_password.rb
601
+ - lib/ditty/generators/crud_generator.rb
602
+ - lib/ditty/generators/migration_generator.rb
603
+ - lib/ditty/generators/project_generator.rb
454
604
  - lib/ditty/helpers/authentication.rb
455
605
  - lib/ditty/helpers/component.rb
456
606
  - lib/ditty/helpers/pundit.rb
457
607
  - lib/ditty/helpers/response.rb
458
608
  - lib/ditty/helpers/views.rb
459
609
  - lib/ditty/listener.rb
610
+ - lib/ditty/memcached.rb
460
611
  - lib/ditty/middleware/accept_extension.rb
461
612
  - lib/ditty/middleware/error_catchall.rb
462
613
  - lib/ditty/models/audit_log.rb
@@ -480,6 +631,45 @@ files:
480
631
  - lib/ditty/services/settings.rb
481
632
  - lib/ditty/tasks/ditty.rake
482
633
  - lib/ditty/tasks/omniauth-ldap.rake
634
+ - lib/ditty/templates/.gitignore
635
+ - lib/ditty/templates/.rspec
636
+ - lib/ditty/templates/.rubocop.yml
637
+ - lib/ditty/templates/Rakefile
638
+ - lib/ditty/templates/application.rb
639
+ - lib/ditty/templates/config.ru
640
+ - lib/ditty/templates/controller.rb.erb
641
+ - lib/ditty/templates/env.example
642
+ - lib/ditty/templates/lib/project.rb.erb
643
+ - lib/ditty/templates/logs/.empty_directory
644
+ - lib/ditty/templates/migration.rb.erb
645
+ - lib/ditty/templates/model.rb.erb
646
+ - lib/ditty/templates/pids/.empty_directory
647
+ - lib/ditty/templates/policy.rb.erb
648
+ - lib/ditty/templates/public/browserconfig.xml
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
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
663
+ - lib/ditty/templates/settings.yml.erb
664
+ - lib/ditty/templates/sidekiq.rb
665
+ - lib/ditty/templates/sidekiq.yml
666
+ - lib/ditty/templates/spec_helper.rb
667
+ - lib/ditty/templates/type.rb.erb
668
+ - lib/ditty/templates/views/display.haml.tt
669
+ - lib/ditty/templates/views/edit.haml.tt
670
+ - lib/ditty/templates/views/form.haml.tt
671
+ - lib/ditty/templates/views/index.haml.tt
672
+ - lib/ditty/templates/views/new.haml.tt
483
673
  - lib/ditty/version.rb
484
674
  - lib/rubocop/cop/ditty/call_services_directly.rb
485
675
  - migrate/20170207_base_tables.rb
@@ -488,19 +678,30 @@ files:
488
678
  - migrate/20180307_password_reset.rb
489
679
  - migrate/20181209_add_user_login_traits.rb
490
680
  - migrate/20181209_extend_audit_log.rb
491
- - public/browserconfig.xml
492
- - public/images/apple-icon.png
493
- - public/images/favicon-16x16.png
494
- - public/images/favicon-32x32.png
495
- - public/images/launcher-icon-1x.png
496
- - public/images/launcher-icon-2x.png
497
- - public/images/launcher-icon-4x.png
498
- - public/images/mstile-150x150.png
499
- - public/images/safari-pinned-tab.svg
500
- - public/manifest.json
681
+ - migrate/20190220_add_parent_id_to_roles.rb
682
+ - spec/ditty/api_spec.rb
683
+ - spec/ditty/controllers/roles_spec.rb
684
+ - spec/ditty/controllers/user_login_traits_spec.rb
685
+ - spec/ditty/controllers/users_spec.rb
686
+ - spec/ditty/emails/base_spec.rb
687
+ - spec/ditty/emails/forgot_password_spec.rb
688
+ - spec/ditty/helpers/component_spec.rb
689
+ - spec/ditty/models/user_spec.rb
690
+ - spec/ditty/services/email_spec.rb
691
+ - spec/ditty/services/logger_spec.rb
692
+ - spec/ditty/services/settings_spec.rb
693
+ - spec/ditty_spec.rb
694
+ - spec/factories.rb
695
+ - spec/fixtures/logger.yml
696
+ - spec/fixtures/section.yml
697
+ - spec/fixtures/settings.yml
698
+ - spec/spec_helper.rb
699
+ - spec/support/api_shared_examples.rb
700
+ - spec/support/crud_shared_examples.rb
501
701
  - views/400.haml
502
702
  - views/403.haml
503
703
  - views/404.haml
704
+ - views/500.haml
504
705
  - views/audit_logs/index.haml
505
706
  - views/auth/forgot_password.haml
506
707
  - views/auth/identity.haml
@@ -509,6 +710,7 @@ files:
509
710
  - views/auth/register.haml
510
711
  - views/auth/register_identity.haml
511
712
  - views/auth/reset_password.haml
713
+ - views/blank.haml
512
714
  - views/emails/base.haml
513
715
  - views/emails/forgot_password.haml
514
716
  - views/emails/layouts/action.haml
@@ -519,16 +721,21 @@ files:
519
721
  - views/index.haml
520
722
  - views/layout.haml
521
723
  - views/partials/actions.haml
724
+ - views/partials/content_tag.haml
522
725
  - views/partials/delete_form.haml
523
726
  - views/partials/filter_control.haml
524
727
  - views/partials/footer.haml
525
728
  - views/partials/form_control.haml
526
729
  - views/partials/form_tag.haml
527
- - views/partials/navbar.haml
730
+ - views/partials/navitems.haml
528
731
  - views/partials/notifications.haml
529
732
  - views/partials/pager.haml
530
733
  - views/partials/search.haml
531
734
  - views/partials/sidebar.haml
735
+ - views/partials/sort_ui.haml
736
+ - views/partials/topbar.haml
737
+ - views/partials/user_associations.haml
738
+ - views/quick_start.haml
532
739
  - views/roles/display.haml
533
740
  - views/roles/edit.haml
534
741
  - views/roles/form.haml
@@ -541,6 +748,7 @@ files:
541
748
  - views/user_login_traits/new.haml
542
749
  - views/users/display.haml
543
750
  - views/users/edit.haml
751
+ - views/users/form.haml
544
752
  - views/users/identity.haml
545
753
  - views/users/index.haml
546
754
  - views/users/login_traits.haml
@@ -566,7 +774,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
566
774
  - !ruby/object:Gem::Version
567
775
  version: '0'
568
776
  requirements: []
569
- rubygems_version: 3.0.2
777
+ rubygems_version: 3.0.8
570
778
  signing_key:
571
779
  specification_version: 4
572
780
  summary: Sinatra Based Application Framework