rails_app_generator 0.1.16 → 0.1.19
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|