rails_app_generator 0.1.16 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.builders/generators/project-plan.rb +10 -0
- data/CHANGELOG.md +21 -0
- data/after_templates/addons/acts_as_list/app/views/home/index.html.erb +0 -12
- data/after_templates/addons/browser/_.rb +20 -0
- data/after_templates/addons/browser/app/controllers/home_controller.rb +5 -0
- data/after_templates/addons/browser/app/views/home/index.html.erb +103 -0
- data/after_templates/addons/chartkick/_.rb +58 -0
- data/after_templates/addons/chartkick/app/controllers/home_controller.rb +4 -0
- data/after_templates/addons/chartkick/app/views/home/index.html.erb +38 -0
- data/after_templates/addons/chartkick/app/views/layouts/_alerts.html.erb +2 -0
- data/after_templates/addons/chartkick/app/views/layouts/_footer.html.erb +3 -0
- data/after_templates/addons/chartkick/app/views/layouts/_navbar.html.erb +7 -0
- data/after_templates/addons/chartkick/app/views/layouts/application.html.erb +28 -0
- data/after_templates/addons/chartkick/app/views/people/_person.html.erb +6 -0
- data/after_templates/addons/chartkick/config/initializers/chartkick.rb +1 -0
- data/after_templates/addons/chartkick/db/seeds.rb +17 -0
- data/docs/project-plan/project.drawio +64 -37
- data/docs/project-plan/project_done.svg +1 -1
- data/docs/project-plan/project_todo.svg +1 -1
- data/lib/rails_app_generator/add_on.rb +16 -5
- data/lib/rails_app_generator/addons/browser.rb +13 -0
- data/lib/rails_app_generator/addons/chartkick.rb +40 -0
- data/lib/rails_app_generator/addons/faker.rb +1 -10
- data/lib/rails_app_generator/addons/groupdate.rb +31 -0
- data/lib/rails_app_generator/app_generator.rb +41 -2
- data/lib/rails_app_generator/options/rails_options.rb +3 -0
- data/lib/rails_app_generator/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- data/profiles/addons/browser.json +12 -0
- data/profiles/addons/chartkick.json +14 -0
- data/templates/thor_task/addon/addon.tt +9 -1
- data/templates/thor_task/profile/app/views/home/index.html.erb.tt +0 -12
- data/templates/thor_task/profile/app/views/layouts/_navbar.html.erb +4 -4
- metadata +20 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 58eda777a093e8b1984c349173a33adb87df19b61c0b09413ae9aad098fb2c1b
|
|
4
|
+
data.tar.gz: 2eda255d5d1d296a6828b10196c50e9be59221d364d80cf5a4b4bf72f889141e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5d514deb8bd877567f1e071398df52d2bf7f96cb2fc349d709319ebd1475278008ff12c28b1624b5ea8502522e82174f9d49e6c06cb01e8e0b0ae9580be81fe8
|
|
7
|
+
data.tar.gz: 8778a30c75cee4daa2eb5af29cc37d89c3a02b3cd94f824fb5dbc14431d8a50d3adea81f76f30cf020f21d242337b69ca8ecf39d58740225cdb610e77dcb1e99
|
|
@@ -34,6 +34,16 @@ KManager.action :project_plan do
|
|
|
34
34
|
|
|
35
35
|
grid_layout(y:90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
|
|
36
36
|
|
|
37
|
+
todo(title: 'add addon - groupdate')
|
|
38
|
+
todo(title: 'add addon - chartkick')
|
|
39
|
+
todo(title: 'add addon - browser')
|
|
40
|
+
todo(title: 'add addon - faker')
|
|
41
|
+
todo(title: 'add addon - acts_as_list')
|
|
42
|
+
todo(title: 'add addon - twilio')
|
|
43
|
+
todo(title: 'add addon - honeybadger')
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
todo(title: 'add profile - rails-html-sanitizer')
|
|
37
47
|
todo(title: 'add profile - tailwind-emulating-bootstrap')
|
|
38
48
|
todo(title: 'add profile - tailwind-hotwire-form-search')
|
|
39
49
|
todo(title: 'add profile - tailwind-hotwire-form')
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## [0.1.18](https://github.com/klueless-io/rails_app_generator/compare/v0.1.17...v0.1.18) (2022-08-06)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* addon chartkick and groupdate ([f3dd173](https://github.com/klueless-io/rails_app_generator/commit/f3dd1736ac4e2cacb87314b9f5703a45a70e102c))
|
|
7
|
+
|
|
8
|
+
## [0.1.17](https://github.com/klueless-io/rails_app_generator/compare/v0.1.16...v0.1.17) (2022-08-05)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* addon browser ([a1fae1d](https://github.com/klueless-io/rails_app_generator/commit/a1fae1d3ee5e5ecabe53fb5ac60d8067477f39b1))
|
|
14
|
+
|
|
15
|
+
## [0.1.16](https://github.com/klueless-io/rails_app_generator/compare/v0.1.15...v0.1.16) (2022-08-05)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* addon faker ([0c61f17](https://github.com/klueless-io/rails_app_generator/commit/0c61f17dbff15dcfc2f9d3851601cbdddde4d207))
|
|
21
|
+
|
|
1
22
|
## [0.1.15](https://github.com/klueless-io/rails_app_generator/compare/v0.1.14...v0.1.15) (2022-08-04)
|
|
2
23
|
|
|
3
24
|
|
|
@@ -9,15 +9,3 @@
|
|
|
9
9
|
<h1>Acts as list</h1>
|
|
10
10
|
|
|
11
11
|
<h2>This "acts_as" extension provides the capabilities for sorting and reordering a number of objects in a list. The class that has this specified needs to have a "position" column defined as an integer on the mapped database table.</h2>
|
|
12
|
-
|
|
13
|
-
<!--
|
|
14
|
-
Add/Remove as needed
|
|
15
|
-
-->
|
|
16
|
-
|
|
17
|
-
<!--
|
|
18
|
-
<= link_to 'Some Action', home_some_action_path %>
|
|
19
|
-
|
|
20
|
-
<= link_to 'Products', products_path %> |
|
|
21
|
-
<= link_to 'Posts', posts_path %> |
|
|
22
|
-
<= link_to 'People', people_path %>
|
|
23
|
-
-->
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# require 'pry'
|
|
4
|
+
|
|
5
|
+
# Do some browser detection with Ruby.
|
|
6
|
+
#
|
|
7
|
+
# exe/rag addons/browser
|
|
8
|
+
|
|
9
|
+
self.local_template_path = File.dirname(__FILE__)
|
|
10
|
+
|
|
11
|
+
gac 'base rails 7 image created'
|
|
12
|
+
|
|
13
|
+
add_controller('home', 'index')
|
|
14
|
+
route("root 'home#index'")
|
|
15
|
+
|
|
16
|
+
force_copy
|
|
17
|
+
|
|
18
|
+
copy_file 'app/controllers/home_controller.rb' , 'app/controllers/home_controller.rb'
|
|
19
|
+
copy_file 'app/views/home/index.html.erb' , 'app/views/home/index.html.erb'
|
|
20
|
+
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
<h1>Browser</h1>
|
|
2
|
+
|
|
3
|
+
<h2>Do some browser detection with Ruby.</h2>
|
|
4
|
+
|
|
5
|
+
<ul>
|
|
6
|
+
<li><code>browser.bot?</code> <%= browser.bot? %>
|
|
7
|
+
<li><code>browser.chrome?</code> <%= browser.chrome? %>
|
|
8
|
+
<li><code>browser.core_media?</code> <%= browser.core_media? %>
|
|
9
|
+
<li><code>browser.duck_duck_go?</code> <%= browser.duck_duck_go? %>
|
|
10
|
+
<li><code>browser.edge?</code> <%= browser.edge? %>
|
|
11
|
+
<li><code>browser.electron?</code> <%= browser.electron? %>
|
|
12
|
+
<li><code>browser.firefox?</code> <%= browser.firefox? %>
|
|
13
|
+
<li><code>browser.full_version</code> <%= browser.full_version %>
|
|
14
|
+
<li><code>browser.ie?</code> <%= browser.ie? %>
|
|
15
|
+
<li><code>browser.known?</code> <%= browser.known? %>
|
|
16
|
+
<li><code>browser.unknown?</code> <%= browser.unknown? %>
|
|
17
|
+
<li><code>browser.meta</code> <%= browser.meta %>
|
|
18
|
+
<li><code>browser.name</code> <%= browser.name %>
|
|
19
|
+
<li><code>browser.nokia?</code> <%= browser.nokia? %>
|
|
20
|
+
<li><code>browser.opera?</code> <%= browser.opera? %>
|
|
21
|
+
<li><code>browser.opera_mini?</code> <%= browser.opera_mini? %>
|
|
22
|
+
<li><code>browser.phantom_js?</code> <%= browser.phantom_js? %>
|
|
23
|
+
<li><code>browser.quicktime?</code> <%= browser.quicktime? %>
|
|
24
|
+
<li><code>browser.safari?</code> <%= browser.safari? %>
|
|
25
|
+
<li><code>browser.safari_webapp_mode?</code> <%= browser.safari_webapp_mode? %>
|
|
26
|
+
<li><code>browser.samsung_browser?</code> <%= browser.samsung_browser? %>
|
|
27
|
+
<li><code>browser.to_s</code> <%= browser.to_s %>
|
|
28
|
+
<li><code>browser.uc_browser?</code> <%= browser.uc_browser? %>
|
|
29
|
+
<li><code>browser.version</code> <%= browser.version %>
|
|
30
|
+
<li><code>browser.webkit?</code> <%= browser.webkit? %>
|
|
31
|
+
<li><code>browser.webkit_full_version</code> <%= browser.webkit_full_version %>
|
|
32
|
+
<li><code>browser.yandex?</code> <%= browser.yandex? %>
|
|
33
|
+
<li><code>browser.wechat?</code> <%= browser.wechat? %>
|
|
34
|
+
<li><code>browser.qq?</code> <%= browser.qq? %>
|
|
35
|
+
<li><code>browser.weibo?</code> <%= browser.weibo? %>
|
|
36
|
+
<li><code>browser.sputnik?</code> <%= browser.sputnik? %>
|
|
37
|
+
<li><code>browser.sougou_browser?</code> <%= browser.sougou_browser? %>
|
|
38
|
+
<li><code>browser.bot.name</code> <%= browser.bot.name %>
|
|
39
|
+
<li><code>browser.bot.search_engine?</code> <%= browser.bot.search_engine? %>
|
|
40
|
+
<li><code>browser.bot?</code> <%= browser.bot? %>
|
|
41
|
+
<li><code>browser.bot.why? </code> <%= browser.bot.why? %>
|
|
42
|
+
<li><code>browser.device</code> <%= browser.device %>
|
|
43
|
+
<li><code>browser.device.id</code> <%= browser.device.id %>
|
|
44
|
+
<li><code>browser.device.name</code> <%= browser.device.name %>
|
|
45
|
+
<li><code>browser.device.unknown?</code> <%= browser.device.unknown? %>
|
|
46
|
+
<li><code>browser.device.blackberry_playbook?</code> <%= browser.device.blackberry_playbook? %>
|
|
47
|
+
<li><code>browser.device.console?</code> <%= browser.device.console? %>
|
|
48
|
+
<li><code>browser.device.ipad?</code> <%= browser.device.ipad? %>
|
|
49
|
+
<li><code>browser.device.iphone?</code> <%= browser.device.iphone? %>
|
|
50
|
+
<li><code>browser.device.ipod_touch?</code> <%= browser.device.ipod_touch? %>
|
|
51
|
+
<li><code>browser.device.kindle?</code> <%= browser.device.kindle? %>
|
|
52
|
+
<li><code>browser.device.kindle_fire?</code> <%= browser.device.kindle_fire? %>
|
|
53
|
+
<li><code>browser.device.mobile?</code> <%= browser.device.mobile? %>
|
|
54
|
+
<li><code>browser.device.nintendo?</code> <%= browser.device.nintendo? %>
|
|
55
|
+
<li><code>browser.device.playstation?</code> <%= browser.device.playstation? %>
|
|
56
|
+
<li><code>browser.device.ps3?</code> <%= browser.device.ps3? %>
|
|
57
|
+
<li><code>browser.device.ps4?</code> <%= browser.device.ps4? %>
|
|
58
|
+
<li><code>browser.device.psp?</code> <%= browser.device.psp? %>
|
|
59
|
+
<li><code>browser.device.silk?</code> <%= browser.device.silk? %>
|
|
60
|
+
<li><code>browser.device.surface?</code> <%= browser.device.surface? %>
|
|
61
|
+
<li><code>browser.device.tablet?</code> <%= browser.device.tablet? %>
|
|
62
|
+
<li><code>browser.device.tv?</code> <%= browser.device.tv? %>
|
|
63
|
+
<li><code>browser.device.vita?</code> <%= browser.device.vita? %>
|
|
64
|
+
<li><code>browser.device.wii?</code> <%= browser.device.wii? %>
|
|
65
|
+
<li><code>browser.device.wiiu?</code> <%= browser.device.wiiu? %>
|
|
66
|
+
<li><code>browser.device.samsung?</code> <%= browser.device.samsung? %>
|
|
67
|
+
<li><code>browser.device.switch?</code> <%= browser.device.switch? %>
|
|
68
|
+
<li><code>browser.device.xbox?</code> <%= browser.device.xbox? %>
|
|
69
|
+
<li><code>browser.device.xbox_360?</code> <%= browser.device.xbox_360? %>
|
|
70
|
+
<li><code>browser.device.xbox_one?</code> <%= browser.device.xbox_one? %>
|
|
71
|
+
<li><code>browser.platform</code> <%= browser.platform %>
|
|
72
|
+
<li><code>browser.platform.id</code> <%= browser.platform.id %>
|
|
73
|
+
<li><code>browser.platform.name</code> <%= browser.platform.name %>
|
|
74
|
+
<li><code>browser.platform.version</code> <%= browser.platform.version %>
|
|
75
|
+
<li><code>browser.platform.adobe_air?</code> <%= browser.platform.adobe_air? %>
|
|
76
|
+
<li><code>browser.platform.android?</code> <%= browser.platform.android? %>
|
|
77
|
+
<li><code>browser.platform.blackberry?</code> <%= browser.platform.blackberry? %>
|
|
78
|
+
<li><code>browser.platform.blackberry?(10) </code> <%= browser.platform.blackberry?(10) %>
|
|
79
|
+
<li><code>browser.platform.chrome_os?</code> <%= browser.platform.chrome_os? %>
|
|
80
|
+
<li><code>browser.platform.firefox_os?</code> <%= browser.platform.firefox_os? %>
|
|
81
|
+
<li><code>browser.platform.ios?</code> <%= browser.platform.ios? %>
|
|
82
|
+
<li><code>browser.platform.ios?(9)</code> <%= browser.platform.ios?(9) %>
|
|
83
|
+
<li><code>browser.platform.ios_app? </code> <%= browser.platform.ios_app? %>
|
|
84
|
+
<li><code>browser.platform.ios_webview? </code> <%= browser.platform.ios_webview? %>
|
|
85
|
+
<li><code>browser.platform.linux?</code> <%= browser.platform.linux? %>
|
|
86
|
+
<li><code>browser.platform.mac?</code> <%= browser.platform.mac? %>
|
|
87
|
+
<li><code>browser.platform.unknown?</code> <%= browser.platform.unknown? %>
|
|
88
|
+
<li><code>browser.platform.windows10?</code> <%= browser.platform.windows10? %>
|
|
89
|
+
<li><code>browser.platform.windows7?</code> <%= browser.platform.windows7? %>
|
|
90
|
+
<li><code>browser.platform.windows8?</code> <%= browser.platform.windows8? %>
|
|
91
|
+
<li><code>browser.platform.windows8_1?</code> <%= browser.platform.windows8_1? %>
|
|
92
|
+
<li><code>browser.platform.windows?</code> <%= browser.platform.windows? %>
|
|
93
|
+
<li><code>browser.platform.windows_mobile?</code> <%= browser.platform.windows_mobile? %>
|
|
94
|
+
<li><code>browser.platform.windows_phone?</code> <%= browser.platform.windows_phone? %>
|
|
95
|
+
<li><code>browser.platform.windows_rt?</code> <%= browser.platform.windows_rt? %>
|
|
96
|
+
<li><code>browser.platform.windows_touchscreen_desktop?</code> <%= browser.platform.windows_touchscreen_desktop? %>
|
|
97
|
+
<li><code>browser.platform.windows_vista?</code> <%= browser.platform.windows_vista? %>
|
|
98
|
+
<li><code>browser.platform.windows_wow64?</code> <%= browser.platform.windows_wow64? %>
|
|
99
|
+
<li><code>browser.platform.windows_x64?</code> <%= browser.platform.windows_x64? %>
|
|
100
|
+
<li><code>browser.platform.windows_x64_inclusive?</code> <%= browser.platform.windows_x64_inclusive? %>
|
|
101
|
+
<li><code>browser.platform.windows_xp?</code> <%= browser.platform.windows_xp? %>
|
|
102
|
+
<li><code>browser.platform.kai_os?</code> <%= browser.platform.kai_os? %>
|
|
103
|
+
</ul>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# require 'pry'
|
|
4
|
+
|
|
5
|
+
# Create beautiful JavaScript charts with one line of Ruby
|
|
6
|
+
#
|
|
7
|
+
# exe/rag addons/chartkick
|
|
8
|
+
|
|
9
|
+
self.local_template_path = File.dirname(__FILE__)
|
|
10
|
+
|
|
11
|
+
gac 'base rails 7 image created'
|
|
12
|
+
|
|
13
|
+
add_controller('home', 'index')
|
|
14
|
+
route("root 'home#index'")
|
|
15
|
+
|
|
16
|
+
force_copy
|
|
17
|
+
|
|
18
|
+
copy_file 'app/controllers/home_controller.rb' , 'app/controllers/home_controller.rb'
|
|
19
|
+
copy_file 'app/views/home/index.html.erb' , 'app/views/home/index.html.erb'
|
|
20
|
+
|
|
21
|
+
copy_file 'app/views/layouts/_alerts.html.erb' , 'app/views/layouts/_alerts.html.erb'
|
|
22
|
+
copy_file 'app/views/layouts/_navbar.html.erb' , 'app/views/layouts/_navbar.html.erb'
|
|
23
|
+
copy_file 'app/views/layouts/_footer.html.erb' , 'app/views/layouts/_footer.html.erb'
|
|
24
|
+
template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
|
|
25
|
+
|
|
26
|
+
template 'db/seeds.rb' , 'db/seeds.rb'
|
|
27
|
+
|
|
28
|
+
copy_file 'config/initializers/chartkick.rb' , 'config/initializers/chartkick.rb'
|
|
29
|
+
|
|
30
|
+
after_bundle do
|
|
31
|
+
setup_db
|
|
32
|
+
db_seed
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def setup_db
|
|
36
|
+
add_scaffold('yogurt', 'flavour')
|
|
37
|
+
# add_scaffold('post', 'title', 'body:text')
|
|
38
|
+
add_scaffold('people', 'name')
|
|
39
|
+
copy_file 'app/views/people/_person.html.erb' , 'app/views/people/_person.html.erb'
|
|
40
|
+
|
|
41
|
+
# add_scaffold('product', 'name', 'price:integer')
|
|
42
|
+
|
|
43
|
+
db_migrate
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Other template command examples
|
|
47
|
+
# css_install('tailwind')
|
|
48
|
+
# rails_command('db:migrate')
|
|
49
|
+
# bundle_add('hotwire-rails')
|
|
50
|
+
# rails_command('hotwire:install')
|
|
51
|
+
# run('bin/importmap pin sortablejs')
|
|
52
|
+
# run('npm install daisyui')
|
|
53
|
+
# create_file 'app/assets/stylesheets/custom-bootstrap-import.scss' , read_template('custom-bootstrap-import.scss')
|
|
54
|
+
# append_to_file 'app/assets/config/manifest.js' , read_template('manifest.js')
|
|
55
|
+
# insert_into_file 'app/views/layouts/application.html.erb', read_template('application.html.erb'),
|
|
56
|
+
# before: %( <%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>)
|
|
57
|
+
# gsub_file 'app/views/layouts/application.html.erb', %(container mx-auto mt-28 px-5 flex), 'container mx-auto px-5'
|
|
58
|
+
# template 'home.css', 'app/assets/stylesheets/home.css'
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
.alert { color: red; }
|
|
3
|
+
.notice { color: green; }
|
|
4
|
+
</style>
|
|
5
|
+
|
|
6
|
+
<% flash.each do |type, msg| %><div class="<%= type %>"><%= msg %></div><% end %>
|
|
7
|
+
<% if flash.any? %><hr /><% end %>
|
|
8
|
+
|
|
9
|
+
<h1>Chartkick</h1>
|
|
10
|
+
|
|
11
|
+
<h2>Create beautiful JavaScript charts with one line of Ruby</h2>
|
|
12
|
+
|
|
13
|
+
<p>
|
|
14
|
+
<a href="https://chartkick.com/">Chartkick</a> is a simple, yet powerful library for creating beautiful charts with one line of Ruby.
|
|
15
|
+
It is built on top of the <a href="http://www.chartjs.org/">Chart.js</a> library.</p>
|
|
16
|
+
|
|
17
|
+
<h3>Line Chart</h3><br /><br />
|
|
18
|
+
<%= line_chart Person.group_by_day(:updated_at).count %>
|
|
19
|
+
|
|
20
|
+
<br /><br />
|
|
21
|
+
<h3>Pie Chart via Query</h3><br /><br />
|
|
22
|
+
<%= pie_chart Yogurt.group(:flavour).count %>
|
|
23
|
+
|
|
24
|
+
<h3>Pie Chart (Manual)</h3><br /><br />
|
|
25
|
+
|
|
26
|
+
<%= pie_chart [
|
|
27
|
+
['Task', 'Hours per Day'],
|
|
28
|
+
['Work',11],
|
|
29
|
+
['Eat',2],
|
|
30
|
+
['Commute',2],
|
|
31
|
+
['Watch TV', 2],
|
|
32
|
+
['Sleep',7]
|
|
33
|
+
]
|
|
34
|
+
%>
|
|
35
|
+
|
|
36
|
+
<h3>Column Chart</h3><br /><br />
|
|
37
|
+
|
|
38
|
+
<%= column_chart Person.group_by_hour_of_day(:updated_at, format: "%l %P").count %>
|
|
@@ -0,0 +1,28 @@
|
|
|
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_hotwire] || options[:skip_javascript] -%>
|
|
10
|
+
<%%= stylesheet_link_tag "application" %>
|
|
11
|
+
<%- else -%>
|
|
12
|
+
<%%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
|
|
13
|
+
<%- end -%>
|
|
14
|
+
<style>
|
|
15
|
+
.alert { color: red; }
|
|
16
|
+
.notice { color: green; }
|
|
17
|
+
</style>
|
|
18
|
+
</head>
|
|
19
|
+
|
|
20
|
+
<body>
|
|
21
|
+
<%%= render 'layouts/navbar' %>
|
|
22
|
+
<main>
|
|
23
|
+
<%%= render 'layouts/alerts' %>
|
|
24
|
+
<%%= yield %>
|
|
25
|
+
</main>
|
|
26
|
+
<%%= render 'layouts/footer' %>
|
|
27
|
+
</body>
|
|
28
|
+
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Custom initializer for rails application
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# This file should contain all the record creation needed to seed the database with its default values.
|
|
2
|
+
# The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).
|
|
3
|
+
#
|
|
4
|
+
# User.find_or_create_by(email: "admin@admin.com") do |user|
|
|
5
|
+
# user.name = 'Admin'
|
|
6
|
+
# user.password = 'password'
|
|
7
|
+
# user.admin = true
|
|
8
|
+
# end
|
|
9
|
+
|
|
10
|
+
flavours = %w[Blueberry Strawberry Banana Raspberry Apple Grape]
|
|
11
|
+
50.times do
|
|
12
|
+
Yogurt.create(flavour: flavours.sample)
|
|
13
|
+
end
|
|
14
|
+
50.times do
|
|
15
|
+
person = Person.create(name: Faker::Name.name)
|
|
16
|
+
person.update!(updated_at: Faker::Time.between_dates(from: 20.days.ago, to: Date.today, period: :day) + 10.hours)
|
|
17
|
+
end
|
|
@@ -1,106 +1,133 @@
|
|
|
1
|
-
<mxfile host="
|
|
2
|
-
<diagram id="
|
|
1
|
+
<mxfile host="3qK">
|
|
2
|
+
<diagram id="OFV" name="In progress">
|
|
3
3
|
<mxGraphModel dx="0" dy="0" background="#FFFAFA" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
|
4
4
|
<root>
|
|
5
|
-
<mxCell id="
|
|
6
|
-
<mxCell id="
|
|
7
|
-
<mxCell id="
|
|
5
|
+
<mxCell id="page_root_OFV" parent="OFV"/>
|
|
6
|
+
<mxCell id="node_root_OFV" parent="page_root_OFV"/>
|
|
7
|
+
<mxCell id="OFV-2" value="add profile - rag_tailwind_hotwire_flash" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_OFV">
|
|
8
8
|
<mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
|
|
9
9
|
</mxCell>
|
|
10
10
|
</root>
|
|
11
11
|
</mxGraphModel>
|
|
12
12
|
</diagram>
|
|
13
|
-
<diagram id="
|
|
13
|
+
<diagram id="KyR" name="To Do">
|
|
14
14
|
<mxGraphModel dx="0" dy="0" background="#FFFAFA" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
|
15
15
|
<root>
|
|
16
|
-
<mxCell id="
|
|
17
|
-
<mxCell id="
|
|
18
|
-
<mxCell id="
|
|
16
|
+
<mxCell id="page_root_KyR" parent="KyR"/>
|
|
17
|
+
<mxCell id="node_root_KyR" parent="page_root_KyR"/>
|
|
18
|
+
<mxCell id="KyR-2" value="generator for new profiles" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
19
19
|
<mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
|
|
20
20
|
</mxCell>
|
|
21
|
-
<mxCell id="
|
|
21
|
+
<mxCell id="KyR-3" value="look at the sample tailwind pages in P7 and turn them into an addon" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
22
22
|
<mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
|
|
23
23
|
</mxCell>
|
|
24
|
-
<mxCell id="
|
|
24
|
+
<mxCell id="KyR-4" value="add auto open flag to profile and command line" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
25
25
|
<mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
|
|
26
26
|
</mxCell>
|
|
27
|
-
<mxCell id="
|
|
27
|
+
<mxCell id="KyR-5" value="add profile - stimulas" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
28
28
|
<mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
|
|
29
29
|
</mxCell>
|
|
30
|
-
<mxCell id="
|
|
30
|
+
<mxCell id="KyR-6" value="add profile - hotwire" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
31
31
|
<mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
|
|
32
32
|
</mxCell>
|
|
33
|
-
<mxCell id="
|
|
33
|
+
<mxCell id="KyR-7" value="add profile - turbo" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
34
34
|
<mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
|
|
35
35
|
</mxCell>
|
|
36
|
-
<mxCell id="
|
|
36
|
+
<mxCell id="KyR-8" value="add profile - vue" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
37
37
|
<mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
|
|
38
38
|
</mxCell>
|
|
39
|
-
<mxCell id="
|
|
39
|
+
<mxCell id="KyR-9" value="add profile - svelte" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
40
40
|
<mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
|
|
41
41
|
</mxCell>
|
|
42
|
-
<mxCell id="
|
|
42
|
+
<mxCell id="KyR-10" value="add profile - react" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
43
43
|
<mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
|
|
44
44
|
</mxCell>
|
|
45
|
-
<mxCell id="
|
|
45
|
+
<mxCell id="KyR-11" value="add profile - vite" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
46
46
|
<mxGeometry x="10" y="250" width="300" height="60" as="geometry"/>
|
|
47
47
|
</mxCell>
|
|
48
|
-
<mxCell id="
|
|
48
|
+
<mxCell id="KyR-12" value="add profile - docker" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
49
49
|
<mxGeometry x="330" y="250" width="300" height="60" as="geometry"/>
|
|
50
50
|
</mxCell>
|
|
51
|
-
<mxCell id="
|
|
51
|
+
<mxCell id="KyR-13" value="add encryption" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
52
52
|
<mxGeometry x="650" y="250" width="300" height="60" as="geometry"/>
|
|
53
53
|
</mxCell>
|
|
54
|
-
<mxCell id="
|
|
54
|
+
<mxCell id="KyR-14" value="cli help support for diff" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
55
55
|
<mxGeometry x="10" y="330" width="300" height="60" as="geometry"/>
|
|
56
56
|
</mxCell>
|
|
57
|
-
<mxCell id="
|
|
57
|
+
<mxCell id="KyR-15" value="cli support for rails new (rag new should work like rails new) - buggy, need to work through" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
58
58
|
<mxGeometry x="330" y="330" width="300" height="60" as="geometry"/>
|
|
59
59
|
</mxCell>
|
|
60
|
+
<mxCell id="KyR-16" value="need an option for deleting target project path" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_KyR">
|
|
61
|
+
<mxGeometry x="650" y="330" width="300" height="60" as="geometry"/>
|
|
62
|
+
</mxCell>
|
|
60
63
|
</root>
|
|
61
64
|
</mxGraphModel>
|
|
62
65
|
</diagram>
|
|
63
|
-
<diagram id="
|
|
66
|
+
<diagram id="1sE" name="Done">
|
|
64
67
|
<mxGraphModel dx="0" dy="0" background="#FFFAFA" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
|
65
68
|
<root>
|
|
66
|
-
<mxCell id="
|
|
67
|
-
<mxCell id="
|
|
68
|
-
<mxCell id="
|
|
69
|
+
<mxCell id="page_root_1sE" parent="1sE"/>
|
|
70
|
+
<mxCell id="node_root_1sE" parent="page_root_1sE"/>
|
|
71
|
+
<mxCell id="1sE-2" value="add addon - groupdate" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
69
72
|
<mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
|
|
70
73
|
</mxCell>
|
|
71
|
-
<mxCell id="
|
|
74
|
+
<mxCell id="1sE-3" value="add addon - chartkick" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
72
75
|
<mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
|
|
73
76
|
</mxCell>
|
|
74
|
-
<mxCell id="
|
|
77
|
+
<mxCell id="1sE-4" value="add addon - browser" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
75
78
|
<mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
|
|
76
79
|
</mxCell>
|
|
77
|
-
<mxCell id="
|
|
80
|
+
<mxCell id="1sE-5" value="add addon - faker" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
78
81
|
<mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
|
|
79
82
|
</mxCell>
|
|
80
|
-
<mxCell id="
|
|
83
|
+
<mxCell id="1sE-6" value="add addon - acts_as_list" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
81
84
|
<mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
|
|
82
85
|
</mxCell>
|
|
83
|
-
<mxCell id="
|
|
86
|
+
<mxCell id="1sE-7" value="add addon - twilio" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
84
87
|
<mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
|
|
85
88
|
</mxCell>
|
|
86
|
-
<mxCell id="
|
|
89
|
+
<mxCell id="1sE-8" value="add addon - honeybadger" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
87
90
|
<mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
|
|
88
91
|
</mxCell>
|
|
89
|
-
<mxCell id="
|
|
92
|
+
<mxCell id="1sE-9" value="add profile - rails-html-sanitizer" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
90
93
|
<mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
|
|
91
94
|
</mxCell>
|
|
92
|
-
<mxCell id="
|
|
95
|
+
<mxCell id="1sE-10" value="add profile - tailwind-emulating-bootstrap" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
93
96
|
<mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
|
|
94
97
|
</mxCell>
|
|
95
|
-
<mxCell id="
|
|
98
|
+
<mxCell id="1sE-11" value="add profile - tailwind-hotwire-form-search" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
96
99
|
<mxGeometry x="10" y="250" width="300" height="60" as="geometry"/>
|
|
97
100
|
</mxCell>
|
|
98
|
-
<mxCell id="
|
|
101
|
+
<mxCell id="1sE-12" value="add profile - tailwind-hotwire-form" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
99
102
|
<mxGeometry x="330" y="250" width="300" height="60" as="geometry"/>
|
|
100
103
|
</mxCell>
|
|
101
|
-
<mxCell id="
|
|
104
|
+
<mxCell id="1sE-13" value="add profile - tailwind-hotwire" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
102
105
|
<mxGeometry x="650" y="250" width="300" height="60" as="geometry"/>
|
|
103
106
|
</mxCell>
|
|
107
|
+
<mxCell id="1sE-14" value="add profile - import-map" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
108
|
+
<mxGeometry x="10" y="330" width="300" height="60" as="geometry"/>
|
|
109
|
+
</mxCell>
|
|
110
|
+
<mxCell id="1sE-15" value="profile - fix the bootstrap profile" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
111
|
+
<mxGeometry x="330" y="330" width="300" height="60" as="geometry"/>
|
|
112
|
+
</mxCell>
|
|
113
|
+
<mxCell id="1sE-16" value="cli support for profile" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
114
|
+
<mxGeometry x="650" y="330" width="300" height="60" as="geometry"/>
|
|
115
|
+
</mxCell>
|
|
116
|
+
<mxCell id="1sE-17" value="separate CLI methods into include modules" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
117
|
+
<mxGeometry x="10" y="410" width="300" height="60" as="geometry"/>
|
|
118
|
+
</mxCell>
|
|
119
|
+
<mxCell id="1sE-18" value="cli support for diff" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
120
|
+
<mxGeometry x="330" y="410" width="300" height="60" as="geometry"/>
|
|
121
|
+
</mxCell>
|
|
122
|
+
<mxCell id="1sE-19" value="add diff tool - open in editor" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
123
|
+
<mxGeometry x="650" y="410" width="300" height="60" as="geometry"/>
|
|
124
|
+
</mxCell>
|
|
125
|
+
<mxCell id="1sE-20" value="add diff tool supporting lhs only, rhs only, same and different" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
126
|
+
<mxGeometry x="10" y="490" width="300" height="60" as="geometry"/>
|
|
127
|
+
</mxCell>
|
|
128
|
+
<mxCell id="1sE-21" value="add project plan to do list" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_1sE">
|
|
129
|
+
<mxGeometry x="330" y="490" width="300" height="60" as="geometry"/>
|
|
130
|
+
</mxCell>
|
|
104
131
|
</root>
|
|
105
132
|
</mxGraphModel>
|
|
106
133
|
</diagram>
|