rails_app_generator 0.1.8 → 0.1.11

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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/.builders/generators/project-plan.rb +4 -3
  3. data/CHANGELOG.md +22 -0
  4. data/Rakefile +2 -0
  5. data/after_templates/addons/rails_html_sanitizer/_.rb +15 -0
  6. data/after_templates/addons/rails_html_sanitizer/home/index.html.erb +3 -0
  7. data/after_templates/addons/rails_html_sanitizer_xxx/home/index.html.erb +31 -0
  8. data/after_templates/rag_devise/application.html.erb +20 -0
  9. data/after_templates/rag_devise/application_controller.rb +10 -0
  10. data/after_templates/rag_devise/config/initializers/devise_turbo.rb +30 -0
  11. data/after_templates/rag_devise/layouts/_alerts.html.erb +3 -0
  12. data/after_templates/rag_devise/layouts/_footer.html.erb +3 -0
  13. data/after_templates/rag_devise/layouts/_navbar.html.erb +14 -0
  14. data/after_templates/rag_devise/layouts/application.html.erb +24 -0
  15. data/after_templates/rag_devise/post/_post.html.erb +14 -0
  16. data/after_templates/rag_devise/post/post.rb +3 -0
  17. data/after_templates/rag_devise/post/posts_controller.rb +72 -0
  18. data/after_templates/rag_devise/seed_data.rb +8 -0
  19. data/after_templates/rag_devise/turbo_controller.rb +24 -0
  20. data/after_templates/rag_devise/user.rb +8 -0
  21. data/after_templates/rag_devise.rb +45 -0
  22. data/after_templates/rag_printspeak/application_controller.rb +22 -0
  23. data/after_templates/rag_printspeak/faq.html.erb +189 -0
  24. data/after_templates/rag_printspeak/layouts/_footer.html.erb +72 -0
  25. data/after_templates/rag_printspeak/layouts/_head.html.erb +17 -0
  26. data/after_templates/rag_printspeak/layouts/_navbar.html.erb +30 -0
  27. data/after_templates/rag_printspeak/layouts/application.html.erb +22 -0
  28. data/after_templates/rag_printspeak/page/_footer.html.erb +184 -0
  29. data/after_templates/rag_printspeak/page/architecture.html.erb +33 -0
  30. data/after_templates/rag_printspeak/page/blog.html.erb +44 -0
  31. data/after_templates/rag_printspeak/page/faq.html.erb +2 -0
  32. data/after_templates/rag_printspeak/page/home.html.erb +32 -0
  33. data/after_templates/rag_printspeak/page/page_controller.rb +27 -0
  34. data/after_templates/rag_printspeak/page/readme.html.erb +49 -0
  35. data/after_templates/rag_printspeak.rb +36 -0
  36. data/docs/project-plan/project.drawio +37 -40
  37. data/docs/project-plan/project_in_progress.svg +1 -1
  38. data/docs/project-plan/project_todo.svg +1 -1
  39. data/exe/rag +1 -1
  40. data/lib/rails_app_generator/addons/annotate.rb +3 -3
  41. data/lib/rails_app_generator/addons/devise.rb +17 -7
  42. data/lib/rails_app_generator/addons/rails_html_sanitizer.rb +14 -0
  43. data/lib/rails_app_generator/addons/xmen.rb +17 -0
  44. data/lib/rails_app_generator/app_generator.rb +169 -0
  45. data/lib/rails_app_generator/diff/processor.rb +13 -0
  46. data/lib/rails_app_generator/options/rails_options.rb +4 -0
  47. data/lib/rails_app_generator/version.rb +1 -1
  48. data/package-lock.json +2 -2
  49. data/package.json +1 -1
  50. data/profiles/addons/rails-html-sanitizer.json +12 -0
  51. data/profiles/addons/rails_html_sanitizer.json +12 -0
  52. data/profiles/rag-devise.json +12 -0
  53. data/profiles/rag-printspeak.json +11 -0
  54. data/tasks/addon.thor +57 -0
  55. data/tasks/gem_info.rb +47 -0
  56. data/tasks/profile.thor +114 -0
  57. data/templates/thor_task/addon/addon.tt +21 -0
  58. data/templates/thor_task/profile/after_template.rb.tt +15 -0
  59. data/templates/thor_task/profile/home/index.html.erb.tt +3 -0
  60. data/templates/thor_task/profile/profile.json.tt +12 -0
  61. metadata +60 -16
  62. data/templates/app_x/controllers/authorized_controller.rb.erb +0 -10
  63. data/templates/app_x/controllers/errors_controller.rb.erb +0 -24
  64. data/templates/app_x/javascript/images/checkmark.svg +0 -1
  65. data/templates/app_x/javascript/images/logo.svg +0 -1
  66. data/templates/app_x/javascript/stylesheets/components.scss +0 -206
  67. data/templates/app_x/views/errors/internal_error.html.erb +0 -14
  68. data/templates/app_x/views/errors/not_found.html.erb +0 -14
  69. data/templates/app_x/views/errors/unacceptable.html.erb +0 -14
  70. data/templates/app_x/views/layouts/application.html.erb.tt +0 -30
  71. data/templates/app_x/views/pages/home.html.erb.tt +0 -20
  72. data/templates/app_x/views/shared/_flashes.html.erb.tt +0 -12
  73. data/templates/app_x/views/shared/_footer.html.erb.tt +0 -21
  74. data/templates/app_x/views/shared/_navbar.html.erb.tt +0 -55
  75. data/templates/app_x/workers/application_worker.rb +0 -5
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_app_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-31 00:00:00.000000000 Z
11
+ date: 2022-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bootsnap
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: cmdlet
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  description: " Create new Rails Application with custom opinions\n"
126
140
  email:
127
141
  - david@ideasmen.com.au
@@ -146,6 +160,9 @@ files:
146
160
  - README.md
147
161
  - Rakefile
148
162
  - after_templates/README.md
163
+ - after_templates/addons/rails_html_sanitizer/_.rb
164
+ - after_templates/addons/rails_html_sanitizer/home/index.html.erb
165
+ - after_templates/addons/rails_html_sanitizer_xxx/home/index.html.erb
149
166
  - after_templates/rag_bootstrap.rb
150
167
  - after_templates/rag_bootstrap/application-yield.html.erb
151
168
  - after_templates/rag_bootstrap/application.html.erb
@@ -162,10 +179,38 @@ files:
162
179
  - after_templates/rag_bootstrap/custom-using-css.css
163
180
  - after_templates/rag_bootstrap/custom-using-scss.scss
164
181
  - after_templates/rag_bootstrap/manifest.js
182
+ - after_templates/rag_devise.rb
183
+ - after_templates/rag_devise/application.html.erb
184
+ - after_templates/rag_devise/application_controller.rb
185
+ - after_templates/rag_devise/config/initializers/devise_turbo.rb
186
+ - after_templates/rag_devise/layouts/_alerts.html.erb
187
+ - after_templates/rag_devise/layouts/_footer.html.erb
188
+ - after_templates/rag_devise/layouts/_navbar.html.erb
189
+ - after_templates/rag_devise/layouts/application.html.erb
190
+ - after_templates/rag_devise/post/_post.html.erb
191
+ - after_templates/rag_devise/post/post.rb
192
+ - after_templates/rag_devise/post/posts_controller.rb
193
+ - after_templates/rag_devise/seed_data.rb
194
+ - after_templates/rag_devise/turbo_controller.rb
195
+ - after_templates/rag_devise/user.rb
165
196
  - after_templates/rag_import_map.rb
166
197
  - after_templates/rag_import_map/component-sortable.html
167
198
  - after_templates/rag_import_map/home.css
168
199
  - after_templates/rag_import_map/position_controller.js
200
+ - after_templates/rag_printspeak.rb
201
+ - after_templates/rag_printspeak/application_controller.rb
202
+ - after_templates/rag_printspeak/faq.html.erb
203
+ - after_templates/rag_printspeak/layouts/_footer.html.erb
204
+ - after_templates/rag_printspeak/layouts/_head.html.erb
205
+ - after_templates/rag_printspeak/layouts/_navbar.html.erb
206
+ - after_templates/rag_printspeak/layouts/application.html.erb
207
+ - after_templates/rag_printspeak/page/_footer.html.erb
208
+ - after_templates/rag_printspeak/page/architecture.html.erb
209
+ - after_templates/rag_printspeak/page/blog.html.erb
210
+ - after_templates/rag_printspeak/page/faq.html.erb
211
+ - after_templates/rag_printspeak/page/home.html.erb
212
+ - after_templates/rag_printspeak/page/page_controller.rb
213
+ - after_templates/rag_printspeak/page/readme.html.erb
169
214
  - after_templates/rag_simple.rb
170
215
  - after_templates/rag_tailwind.rb
171
216
  - after_templates/rag_tailwind/component-cta.html
@@ -263,6 +308,7 @@ files:
263
308
  - lib/rails_app_generator/addons/irbrc.rb
264
309
  - lib/rails_app_generator/addons/lograge.rb
265
310
  - lib/rails_app_generator/addons/pundit.rb
311
+ - lib/rails_app_generator/addons/rails_html_sanitizer.rb
266
312
  - lib/rails_app_generator/addons/rspec.rb
267
313
  - lib/rails_app_generator/addons/rubocop.rb
268
314
  - lib/rails_app_generator/addons/scaffold.rb
@@ -272,6 +318,7 @@ files:
272
318
  - lib/rails_app_generator/addons/stimulus_components.rb
273
319
  - lib/rails_app_generator/addons/tailwind.rb
274
320
  - lib/rails_app_generator/addons/views.rb
321
+ - lib/rails_app_generator/addons/xmen.rb
275
322
  - lib/rails_app_generator/app_builder.rb
276
323
  - lib/rails_app_generator/app_generator.rb
277
324
  - lib/rails_app_generator/cli/diff.rb
@@ -306,9 +353,13 @@ files:
306
353
  - lib/rails_app_generator/version.rb
307
354
  - package-lock.json
308
355
  - package.json
356
+ - profiles/addons/rails-html-sanitizer.json
357
+ - profiles/addons/rails_html_sanitizer.json
309
358
  - profiles/rag-add-some-pages.json
310
359
  - profiles/rag-bootstrap.json
360
+ - profiles/rag-devise.json
311
361
  - profiles/rag-import-map.json
362
+ - profiles/rag-printspeak.json
312
363
  - profiles/rag-sample.json
313
364
  - profiles/rag-simple.json
314
365
  - profiles/rag-tailwind-daisyui.json
@@ -319,6 +370,9 @@ files:
319
370
  - profiles/rag-tailwind-hotwire.json
320
371
  - profiles/rag-tailwind.json
321
372
  - sig/rails_app_generator.rbs
373
+ - tasks/addon.thor
374
+ - tasks/gem_info.rb
375
+ - tasks/profile.thor
322
376
  - templates/Gemfile-original-r7
323
377
  - templates/Gemfile-original-schienenzeppelin.erb
324
378
  - templates/Gemfile.erb
@@ -360,20 +414,10 @@ files:
360
414
  - templates/addons/scaffold/lib/templates/erb/scaffold/new.html.erb
361
415
  - templates/addons/scaffold/lib/templates/erb/scaffold/show.html.erb
362
416
  - templates/addons/services/app/services/application_service.rb
363
- - templates/app_x/controllers/authorized_controller.rb.erb
364
- - templates/app_x/controllers/errors_controller.rb.erb
365
- - templates/app_x/javascript/images/checkmark.svg
366
- - templates/app_x/javascript/images/logo.svg
367
- - templates/app_x/javascript/stylesheets/components.scss
368
- - templates/app_x/views/errors/internal_error.html.erb
369
- - templates/app_x/views/errors/not_found.html.erb
370
- - templates/app_x/views/errors/unacceptable.html.erb
371
- - templates/app_x/views/layouts/application.html.erb.tt
372
- - templates/app_x/views/pages/home.html.erb.tt
373
- - templates/app_x/views/shared/_flashes.html.erb.tt
374
- - templates/app_x/views/shared/_footer.html.erb.tt
375
- - templates/app_x/views/shared/_navbar.html.erb.tt
376
- - templates/app_x/workers/application_worker.rb
417
+ - templates/thor_task/addon/addon.tt
418
+ - templates/thor_task/profile/after_template.rb.tt
419
+ - templates/thor_task/profile/home/index.html.erb.tt
420
+ - templates/thor_task/profile/profile.json.tt
377
421
  homepage: http://appydave.com/gems/rails_app_generator
378
422
  licenses:
379
423
  - MIT
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class AuthorizedController < ApplicationController
4
- include Pundit
5
-
6
- before_action :authenticate_user!
7
-
8
- after_action :verify_authorized, except: :index
9
- after_action :verify_policy_scoped, only: :index
10
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class ErrorsController < ApplicationController
4
- def not_found
5
- respond_to do |format|
6
- format.html { render status: 404 }
7
- format.json { render json: { error: 'Resource not found' }, status: 404 }
8
- end
9
- end
10
-
11
- def unacceptable
12
- respond_to do |format|
13
- format.html { render status: 422 }
14
- format.json { render json: { error: 'Params unacceptable' }, status: 422 }
15
- end
16
- end
17
-
18
- def internal_error
19
- respond_to do |format|
20
- format.html { render status: 500 }
21
- format.json { render json: { error: 'Internal server error' }, status: 500 }
22
- end
23
- end
24
- end
@@ -1 +0,0 @@
1
- <svg fill="#fff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg>
@@ -1 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 92.81 122.88" style="enable-background:new 0 0 92.81 122.88" xml:space="preserve"><style type="text/css">.st0{fill-rule:evenodd;clip-rule:evenodd;}</style><g><path class="st0" d="M66.69,101.35H26.68l-4.7,6.94h49.24L66.69,101.35L66.69,101.35z M17.56,114.81l-5.47,8.07H0l19.64-29.46 h-3.49c-4.76,0-8.66-3.9-8.66-8.66V8.66C7.5,3.9,11.39,0,16.15,0h61.22c4.76,0,8.66,3.9,8.66,8.66v76.1c0,4.76-3.9,8.66-8.66,8.66 h-3.4l18.83,29.04H80.45l-4.99-7.65H17.56L17.56,114.81z M62.97,67.66h10.48c1.14,0,2.07,0.93,2.07,2.07V80.2 c0,1.14-0.93,2.07-2.07,2.07H62.97c-1.14,0-2.07-0.93-2.07-2.07V69.72C60.9,68.59,61.83,67.66,62.97,67.66L62.97,67.66z M18.98,67.66h10.48c1.14,0,2.07,0.93,2.07,2.07V80.2c0,1.14-0.93,2.07-2.07,2.07H18.98c-1.14,0-2.07-0.93-2.07-2.07V69.72 C16.91,68.59,17.84,67.66,18.98,67.66L18.98,67.66z M25.1,16.7h42.81c4.6,0,8.36,3.76,8.36,8.37v13.17c0,4.6-3.76,8.36-8.36,8.36 H25.1c-4.6,0-8.36-3.76-8.36-8.36V25.07C16.74,20.47,20.5,16.7,25.1,16.7L25.1,16.7z M38.33,3.8h16.2C55.34,3.8,56,4.46,56,5.27 v6.38c0,0.81-0.66,1.47-1.47,1.47h-16.2c-0.81,0-1.47-0.66-1.47-1.47V5.27C36.85,4.46,37.51,3.8,38.33,3.8L38.33,3.8z"/></g></svg>
@@ -1,206 +0,0 @@
1
-
2
- .btn {
3
- @apply font-normal text-base rounded cursor-pointer border border-transparent appearance-none inline-block select-none leading-normal antialiased align-baseline;
4
-
5
- padding: 0.35rem 0.75rem;
6
- transition: 0.15s ease;
7
-
8
- }
9
-
10
- .btn-default {
11
- @apply bg-white border border-gray-400 text-gray-700;
12
-
13
- &:hover,
14
- &:focus {
15
- @apply border-gray-700;
16
- }
17
- }
18
-
19
- .btn-blue {
20
- @apply bg-blue-600 text-white;
21
-
22
- &:hover,
23
- &:focus {
24
- @apply bg-blue-700;
25
- }
26
-
27
- &.btn-outline {
28
- @apply bg-transparent text-blue-600 border border-blue-600;
29
-
30
- &:hover,
31
- &:focus {
32
- @apply bg-blue-600 text-white;
33
- }
34
- }
35
- }
36
-
37
- .btn-group {
38
- .btn {
39
- @apply rounded-none;
40
-
41
- &:first-child {
42
- @apply rounded-tr-none rounded-br-none border-r-0 rounded-tl rounded-bl;
43
- }
44
-
45
- &:last-child {
46
- @apply rounded-tl-none rounded-bl-none border-l-0 rounded-tr rounded-br;
47
- }
48
- }
49
- }
50
-
51
- %focus-style {
52
- @apply shadow outline-none border-gray-500;
53
-
54
- box-shadow: 0 0 0 0.2rem theme("colors.gray.200");
55
- background-clip: padding-box;
56
- }
57
-
58
- .input {
59
- @apply appearance-none block w-full text-gray-700 border border-gray-400 rounded px-3 leading-tight bg-white shadow-inner;
60
- padding-top: .65rem;
61
- padding-bottom: .65rem;
62
- }
63
-
64
- .input:focus,
65
- .input:hover {
66
- @extend %focus-style;
67
- }
68
-
69
- .label {
70
- @apply block text-gray-700 text-sm font-bold mb-2;
71
- }
72
-
73
- .select {
74
- @apply appearance-none py-3 px-4 pr-8 block w-full bg-white border border-gray-300 text-gray-700 rounded leading-tight;
75
- -webkit-appearance: none;
76
-
77
- }
78
-
79
- .select:focus {
80
- @apply outline-none border-gray-400;
81
-
82
- box-shadow: 0 0 0 0.2rem theme("colors.gray.100");
83
- background-clip: padding-box;
84
- }
85
-
86
- .caret {
87
- @apply pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-800;
88
- }
89
-
90
- .input-group {
91
- @apply mb-6;
92
- }
93
-
94
- .input-file {
95
- height: auto;
96
- z-index: 2;
97
- cursor: pointer;
98
-
99
- @apply inline-block opacity-0 pl-0 pr-0 py-3 px-3 overflow-hidden absolute border-none;
100
-
101
- + label {
102
- @extend .btn;
103
- @extend .btn-default;
104
-
105
- @apply cursor-pointer inline-flex items-center justify-start w-auto;
106
-
107
- * {
108
- pointer-events: none;
109
- }
110
-
111
- &:focus {
112
- outline: 1px dotted #000;
113
- outline: -webkit-focus-ring-color auto 5px;
114
- }
115
- }
116
- }
117
-
118
- .input-checkbox {
119
- @apply flex items-center justify-start;
120
-
121
- input[type="checkbox"] {
122
- @apply hidden appearance-none;
123
-
124
- &:checked ~ label:before {
125
- content: "";
126
- background-image: url('~images/checkmark.svg');
127
- background-size: 10px 10px;
128
- border-radius: 2px;
129
- @apply bg-blue-500 border-transparent text-white bg-no-repeat bg-center transition ease-in-out duration-100 shadow-none;
130
- }
131
-
132
- &:disabled {
133
- @apply pointer-events-none opacity-50;
134
- }
135
- }
136
-
137
- label {
138
- @apply cursor-pointer appearance-none;
139
-
140
- &:before {
141
- border-radius: 2px;
142
- border: 1px solid rgb(209, 209, 209);
143
- box-shadow: inset 0 1px 1px rgba(#ddd, .8);
144
- content: "";
145
- height: 16px;
146
- margin-right: 10px;
147
- top: -5px;
148
- width: 16px;
149
-
150
- @apply bg-white inline-flex items-center justify-center relative transition ease-in-out duration-200;
151
-
152
- }
153
-
154
- &:hover::before {
155
- @apply bg-gray-100 border-gray-500;
156
- }
157
- }
158
- }
159
-
160
- .input-radio {
161
- @apply flex items-center justify-start;
162
-
163
- input[type="radio"] {
164
- @apply hidden appearance-none;
165
-
166
- &:checked ~ label:before {
167
- content: "";
168
- @apply bg-blue-500 border-transparent text-white transition ease-in-out duration-100 shadow-none;
169
- }
170
-
171
- &:checked ~ label:after {
172
- @apply bg-white rounded-full;
173
- content: "";
174
- width: 6px;
175
- height: 6px;
176
- position: absolute;
177
- top: 8px;
178
- left: 5px;
179
- box-shadow: 0 1px 1px rgba(#2B6CB0, .9);
180
- }
181
-
182
- &:disabled {
183
- @apply pointer-events-none opacity-50;
184
- }
185
- }
186
-
187
- label {
188
- @apply cursor-pointer appearance-none relative;
189
-
190
- &:before {
191
- border: 1px solid rgb(209, 209, 209);
192
- box-shadow: inset 0 1px 1px rgba(#ddd, .8);
193
- content: "";
194
- height: 16px;
195
- margin-right: 4px;
196
- top: -5px;
197
- width: 16px;
198
-
199
- @apply bg-white inline-flex items-center justify-center relative transition ease-in-out duration-200 rounded-full;
200
- }
201
-
202
- &:hover::before {
203
- @apply bg-gray-100 border-gray-500;
204
- }
205
- }
206
- }
@@ -1,14 +0,0 @@
1
- <div class="container mx-auto px-4">
2
- <section class="py-8 px-4 text-center">
3
- <div class="max-w-auto mx-auto">
4
- <div class="md:max-w-lg mx-auto flex justify-center">
5
- <svg class="fill-current text-gray-300 h-48" viewBox="0 0 445 202" xmlns="http://www.w3.org/2000/svg">
6
- <path d="M38.804 144.71c1.527 8.356 4.447 14.803 8.76 19.34 4.312 4.537 10.601 6.805 18.867 6.805 9.523 0 16.778-3.346 21.764-10.04 4.987-6.693 7.48-15.116 7.48-25.268 0-9.973-2.336-18.396-7.008-25.269-4.672-6.873-11.95-10.31-21.832-10.31-4.672 0-8.715.585-12.129 1.753-6.02 2.156-10.557 6.154-13.611 11.994l-34.5-1.617L20.34 4.15h107.678v32.614H48.103l-7.008 42.72c5.93-3.863 10.556-6.423 13.88-7.681 5.57-2.067 12.354-3.1 20.35-3.1 16.172 0 30.277 5.436 42.317 16.307 12.039 10.87 18.058 26.683 18.058 47.437 0 18.059-5.795 34.186-17.385 48.381-11.59 14.196-28.93 21.293-52.02 21.293-18.597 0-33.87-4.986-45.82-14.959C8.527 177.19 1.879 163.04.53 144.711h38.274zm155.789-43.528c0 22.46 1.842 39.643 5.525 51.547 3.684 11.905 11.23 17.857 22.64 17.857 11.411 0 18.89-5.952 22.44-17.857 3.548-11.904 5.323-29.086 5.323-51.547 0-23.54-1.775-40.97-5.324-52.29s-11.028-16.98-22.438-16.98c-11.41 0-18.957 5.66-22.64 16.98-3.684 11.32-5.526 28.75-5.526 52.29zM222.759.242c24.887 0 42.339 8.76 52.356 26.28 10.018 17.52 15.027 42.406 15.027 74.66s-5.01 57.095-15.027 74.525c-10.017 17.43-27.47 26.145-52.356 26.145-24.887 0-42.339-8.715-52.357-26.145-10.017-17.43-15.026-42.271-15.026-74.525 0-32.254 5.009-57.14 15.026-74.66C180.42 9.001 197.872.241 222.76.241zm125.332 100.94c0 22.46 1.842 39.643 5.525 51.547 3.684 11.905 11.23 17.857 22.64 17.857 11.411 0 18.89-5.952 22.44-17.857 3.548-11.904 5.323-29.086 5.323-51.547 0-23.54-1.775-40.97-5.324-52.29s-11.028-16.98-22.438-16.98c-11.41 0-18.957 5.66-22.64 16.98-3.684 11.32-5.526 28.75-5.526 52.29zM376.257.242c24.887 0 42.339 8.76 52.356 26.28 10.018 17.52 15.027 42.406 15.027 74.66s-5.01 57.095-15.027 74.525c-10.017 17.43-27.47 26.145-52.356 26.145-24.887 0-42.339-8.715-52.357-26.145-10.017-17.43-15.026-42.271-15.026-74.525 0-32.254 5.009-57.14 15.026-74.66C333.918 9.001 351.37.241 376.257.241z" fill-rule="nonzero"/>
7
- </svg>
8
- </div>
9
- <h2 class="mt-8 uppercase text-xl lg:text-5xl font-black">Something went terribly wrong</h2>
10
- <p class="mt-6 text-sm lg:text-base text-gray-900">If you are the application owner check the logs for more information.</p>
11
- <a href="/" class="mt-12 btn btn-default">Back To Homepage</a>
12
- </div>
13
- </section>
14
- </div>
@@ -1,14 +0,0 @@
1
- <div class="container mx-auto px-4">
2
- <section class="py-8 px-4 text-center">
3
- <div class="max-w-auto mx-auto">
4
- <div class="md:max-w-lg mx-auto flex justify-center">
5
- <svg class="fill-current text-gray-300 h-48" viewBox="0 0 445 202" xmlns="http://www.w3.org/2000/svg">
6
- <path d="M137.587 154.953h-22.102V197h-37.6v-42.047H.53v-33.557L72.36 2.803h43.125V124.9h22.102v30.053zM77.886 124.9V40.537L28.966 124.9h48.92zm116.707-23.718c0 22.46 1.842 39.643 5.525 51.547 3.684 11.905 11.23 17.857 22.64 17.857 11.411 0 18.89-5.952 22.44-17.857 3.548-11.904 5.323-29.086 5.323-51.547 0-23.54-1.775-40.97-5.324-52.29s-11.028-16.98-22.438-16.98c-11.41 0-18.957 5.66-22.64 16.98-3.684 11.32-5.526 28.75-5.526 52.29zM222.759.242c24.887 0 42.339 8.76 52.356 26.28 10.018 17.52 15.027 42.406 15.027 74.66s-5.01 57.095-15.027 74.525c-10.017 17.43-27.47 26.145-52.356 26.145-24.887 0-42.339-8.715-52.357-26.145-10.017-17.43-15.026-42.271-15.026-74.525 0-32.254 5.009-57.14 15.026-74.66C180.42 9.001 197.872.241 222.76.241zm221.824 154.711h-22.102V197h-37.6v-42.047h-77.355v-33.557l71.83-118.593h43.125V124.9h22.102v30.053zM384.882 124.9V40.537l-48.92 84.363h48.92z" fill-rule="nonzero" />
7
- </svg>
8
- </div>
9
- <h2 class="mt-8 uppercase text-xl lg:text-5xl font-black">Page not found</h2>
10
- <p class="mt-6 text-sm lg:text-base text-gray-900">The page you are looking for might have been removed had its name changed or is temporarily unavailable.</p>
11
- <a href="/" class="mt-12 btn btn-default">Back To Homepage</a>
12
- </div>
13
- </section>
14
- </div>
@@ -1,14 +0,0 @@
1
- <div class="container mx-auto px-4">
2
- <section class="py-8 px-4 text-center">
3
- <div class="max-w-auto mx-auto">
4
- <div class="md:max-w-lg mx-auto flex justify-center">
5
- <svg class="fill-current text-gray-300 h-48" viewBox="0 0 445 202" xmlns="http://www.w3.org/2000/svg">
6
- <path d="M137.587 154.953h-22.102V197h-37.6v-42.047H.53v-33.557L72.36 2.803h43.125V124.9h22.102v30.053zM77.886 124.9V40.537L28.966 124.9h48.92zm77.49 72.1c.36-14.016 3.37-26.818 9.03-38.408 5.48-13.028 18.417-26.818 38.812-41.373 17.7-12.668 29.154-21.742 34.365-27.223 7.996-8.535 11.994-17.879 11.994-28.031 0-8.266-2.29-15.139-6.873-20.62-4.582-5.48-11.14-8.22-19.676-8.22-11.68 0-19.63 4.357-23.853 13.072-2.426 5.032-3.863 13.028-4.313 23.989h-37.33c.63-16.622 3.639-30.053 9.03-40.295C176.804 10.394 194.997.646 221.142.646c20.664 0 37.105 5.728 49.324 17.183 12.219 11.455 18.328 26.616 18.328 45.483 0 14.465-4.313 27.313-12.938 38.543-5.66 7.458-14.958 15.768-27.896 24.932l-15.363 10.916c-9.614 6.828-16.195 11.77-19.743 14.824a43.443 43.443 0 00-8.962 10.647h85.306V197H155.376zm153.498 0c.36-14.016 3.37-26.818 9.03-38.408 5.48-13.028 18.417-26.818 38.812-41.373 17.7-12.668 29.154-21.742 34.365-27.223 7.996-8.535 11.994-17.879 11.994-28.031 0-8.266-2.29-15.139-6.873-20.62-4.582-5.48-11.14-8.22-19.676-8.22-11.68 0-19.63 4.357-23.853 13.072-2.426 5.032-3.863 13.028-4.313 23.989h-37.33c.63-16.622 3.639-30.053 9.03-40.295C330.302 10.394 348.495.646 374.64.646c20.664 0 37.105 5.728 49.324 17.183 12.219 11.455 18.328 26.616 18.328 45.483 0 14.465-4.312 27.313-12.938 38.543-5.66 7.458-14.958 15.768-27.896 24.932l-15.363 10.916c-9.614 6.828-16.195 11.77-19.743 14.824a43.443 43.443 0 00-8.962 10.647h85.306V197H308.874z" fill-rule="nonzero"/>
7
- </svg>
8
- </div>
9
- <h2 class="mt-8 uppercase text-xl lg:text-5xl font-black">The change you wanted was rejected</h2>
10
- <p class="mt-6 text-sm lg:text-base text-gray-900">Maybe you tried to change something you didn't have access to?</p>
11
- <a href="/" class="mt-12 btn btn-default">Back To Homepage</a>
12
- </div>
13
- </section>
14
- </div>
@@ -1,30 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title><%= camelized %></title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <%%= csrf_meta_tags %>
7
- <%%= csp_meta_tag %>
8
-
9
- <%- if options[:skip_javascript] -%>
10
- <%%= stylesheet_link_tag 'application' %>
11
- <%- else -%>
12
- <%- unless options[:skip_turbolinks] -%>
13
- <%%= stylesheet_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
14
- <%%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
15
- <%- else -%>
16
- <%%= stylesheet_pack_tag 'application' %>
17
- <%%= javascript_pack_tag 'application' %>
18
- <%- end -%>
19
- <%- end -%>
20
- </head>
21
-
22
- <body class="flex flex-col min-h-screen">
23
- <%%= render 'shared/navbar' %>
24
- <%%= render 'shared/flashes' %>
25
- <main class="flex-grow">
26
- <%%= yield %>
27
- </main>
28
- <%%= render 'shared/footer' %>
29
- </body>
30
- </html>
@@ -1,20 +0,0 @@
1
- <div class="py-20 bg-gray-100">
2
- <div class="container mx-auto px-6">
3
- <h2 class="text-6xl font-bold mb-2">
4
- <%= camelized %>
5
- </h2>
6
- <h3 class="text-2xl mb-8 text-gray-800">
7
- Created with <a class="underline" href="https://github.com/hschne/schienenzeppelin">Schienenzeppelin</a>
8
- </h3>
9
- <button class="btn btn-blue">
10
- View Documentation
11
- </button>
12
- </div>
13
- </div>
14
-
15
- <section class="container mx-auto px-6 p-10 text-center">
16
- <h2 class="text-2xl font-bold text-gray-800 mb-2">Ready to do some magic?</h2>
17
- <p>Edit this page in <code class="bg-gray-100">app/views/pages/home.html.erb</code></p>
18
- </section>
19
-
20
-
@@ -1,12 +0,0 @@
1
- <%% flash.each do |type, message| %>
2
- <%% if type == "alert" %>
3
- <div class="bg-red-500">
4
- <div class="container px-2 py-4 mx-auto font-sans font-medium text-center text-white"><%%= message %></div>
5
- </div>
6
- <%% end %>
7
- <%% if type == "notice" %>
8
- <div class="bg-green-500">
9
- <div class="container px-2 py-4 mx-auto font-sans font-medium text-center text-white"><%%= message %></div>
10
- </div>
11
- <%% end %>
12
- <%% end %>
@@ -1,21 +0,0 @@
1
- <footer class="bg-gray-100">
2
- <div class="container mx-auto px-8">
3
-
4
- <div class="w-full flex py-6 justify-between">
5
- <div class="flex align-middle">
6
- © <%%= Date.current.year %> <%= app_name.capitalize %>
7
- </div>
8
- <div class="flex w-1/3 justify-end">
9
- <ul class="list-reset w-full flex justify-around align-middle items-center mb-6">
10
- <li class="mt-2 mr-2 md:mr-0">
11
- <a href="#" class="no-underline hover:underline">About</a>
12
- </li>
13
- <li class="mt-2 mr-2 md:mr-0">
14
- <a href="#" class="no-underline hover:underline">Contact</a>
15
- </li>
16
- </ul>
17
- </div>
18
- </div>
19
- </div>
20
- </footer>
21
-
@@ -1,55 +0,0 @@
1
- <header class="shadow">
2
- <nav
3
- <%-if uses?(:stimulus_components) -%>
4
- data-controller="dropdown"
5
- <%- end -%>
6
- class="container mx-auto flex flex-wrap justify-between items-center p-5">
7
- <div>
8
- <a
9
- class="flex items-center mr-2"
10
- <%- if uses?(:high_voltage) -%>
11
- href="<%%= root_path %>"
12
- <%- else -%>
13
- href="/"
14
- <%- end -%>
15
- >
16
- <%- if uses?(:inline_svg) -%>
17
- <%%= inline_svg_pack_tag('media/images/logo.svg', class: "rounded mx-2", size: "3rem * 3rem") %>
18
- <%- end -%>
19
- <p class="font-bold text-lg"><%= app_name.capitalize %> </p>
20
- </a>
21
- </div>
22
- <div class="flex md:hidden">
23
- <button
24
- <%- if uses?(:stimulus_components) -%>
25
- data-action="click->dropdown#toggle click@window->dropdown#hide"
26
- <%- end -%>
27
- class="px-3 py-2 border border-gray-500 rounded text-grey hover:text-gray-600 hover:border-gray-600" >
28
- <svg class="w-3 h-3 fill-current" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
29
- <title>Menu</title>
30
- <path d="M0 3h20v2H0V3zm0 6h20v2H0V9zm0 6h20v2H0v-2z"/>
31
- </svg>
32
- </button>
33
- </div>
34
- <div
35
- <%-if uses?(:stimulus_components) -%>
36
- data-dropdown-target="menu"
37
- <%- end -%>
38
- class="hidden md:flex-grow md:flex w-full md:w-auto text-right md:text-left text-bold mt-5 md:mt-0 border-t-2 border-gray-200 md:border-none">
39
- <div class="justify-start flex-grow">
40
- <!-- SZ Link Placeholder -->
41
- </div>
42
- <%-if uses?(:devise) -%>
43
- <ul class="w-full flex-col md:flex md:flex-row items-center justify-end md:w-auto">
44
- <%% if user_signed_in? %>
45
- <li><%%= link_to "Edit account", edit_user_registration_path, class: "btn btn-default md:mr-2 my-2 md:my-0 " %></li>
46
- <li><%%= link_to "Log out", destroy_user_session_path, method: :delete, class: "btn btn-default" %></li>
47
- <%% else %>
48
- <li><%%= link_to "Login", new_user_session_path, class: "btn btn-blue md:mr-2 my-2 md:my-0" %></li>
49
- <li><%%= link_to "Sign Up", new_user_registration_path, class: "btn btn-blue" %></li>
50
- <%% end %>
51
- </ul>
52
- <%- end -%>
53
- </div>
54
- </nav>
55
- </header>
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class ApplicationWorker
4
- include Sidekiq::Worker
5
- end