rails_app_generator 0.2.10 → 0.2.13
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/CHANGELOG.md +21 -0
- data/after_templates/addons/administrate/_.rb +45 -0
- data/after_templates/addons/administrate/app/controllers/home_controller.rb +4 -0
- data/after_templates/addons/administrate/app/dashboards/author_dashboard.rb +74 -0
- data/after_templates/addons/administrate/app/dashboards/post_dashboard.rb +74 -0
- data/after_templates/addons/administrate/app/dashboards/product_dashboard.rb +71 -0
- data/after_templates/addons/administrate/app/models/author.rb +6 -0
- data/after_templates/addons/administrate/app/models/post.rb +5 -0
- data/after_templates/addons/administrate/app/views/home/index.html.erb +3 -0
- data/after_templates/addons/administrate/app/views/layouts/_footer.html.erb +3 -0
- data/after_templates/addons/administrate/app/views/layouts/_navbar.html.erb +8 -0
- data/after_templates/addons/administrate/app/views/layouts/application.html.erb +23 -0
- data/after_templates/addons/administrate/db/seeds.rb +116 -0
- data/after_templates/addons/motor_admin/_.rb +47 -0
- data/after_templates/addons/motor_admin/app/controllers/home_controller.rb +4 -0
- data/after_templates/addons/motor_admin/app/views/home/index.html.erb +3 -0
- data/after_templates/addons/motor_admin/app/views/layouts/_footer.html.erb +3 -0
- data/after_templates/addons/motor_admin/app/views/layouts/_navbar.html.erb +8 -0
- data/after_templates/addons/motor_admin/app/views/layouts/application.html.erb +23 -0
- data/after_templates/addons/motor_admin/db/seeds.rb +116 -0
- data/docs/last_run/app_generator_class.json +16 -0
- data/docs/last_run/app_generator_data.json +7 -5
- data/docs/last_run/rails_options_class.json +16 -0
- data/docs/last_run/rails_options_data.json +7 -5
- data/lib/rails_app_generator/addons/motor_admin.rb +23 -0
- data/lib/rails_app_generator/rag_initializer.rb +1 -0
- data/lib/rails_app_generator/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- data/profiles/addons/administrate.json +15 -0
- data/profiles/addons/motor_admin.json +15 -0
- data/templates/thor_task/profile/app/views/home/index.html.erb.tt +1 -1
- metadata +24 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9347a3a750b1d75294e58ee69b709776cc21ca6108a5b80409a7586f505f5cfe
|
|
4
|
+
data.tar.gz: fadce854770396d97819b5bcb589ad3e5ac154532889b177e1a0155661592ed1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ca788fcd71b5085efa9e49dcfacecc27e2d9a9e5bbdbb78d2cc0aa2b607bfbca3b28f92fd41b8c12d1e01c1c34ea38f777e888383ebdd9d746cc3f2e9b472626
|
|
7
|
+
data.tar.gz: e9ab3c2054c677c2e0977134e4105571d202677377dc579a480829989f47719f6ee170fe365fa8376c4aba5a67d87837b54da68ce8a26d413ba92e0b20e57c21
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## [0.2.12](https://github.com/klueless-io/rails_app_generator/compare/v0.2.11...v0.2.12) (2022-08-12)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* add motor-admin profile ([0e41a1e](https://github.com/klueless-io/rails_app_generator/commit/0e41a1ece000a1b818d5756aabbd14d52788b462))
|
|
7
|
+
|
|
8
|
+
## [0.2.11](https://github.com/klueless-io/rails_app_generator/compare/v0.2.10...v0.2.11) (2022-08-12)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* add administrate profile ([4049add](https://github.com/klueless-io/rails_app_generator/commit/4049add2e8b4ccf840daa22a817a454cb8bf2ab0))
|
|
14
|
+
|
|
15
|
+
## [0.2.10](https://github.com/klueless-io/rails_app_generator/compare/v0.2.9...v0.2.10) (2022-08-11)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* add administrate addon ([330ce3c](https://github.com/klueless-io/rails_app_generator/commit/330ce3c0db2148ccb34585eb7fb45dae8b267884))
|
|
21
|
+
|
|
1
22
|
## [0.2.9](https://github.com/klueless-io/rails_app_generator/compare/v0.2.8...v0.2.9) (2022-08-11)
|
|
2
23
|
|
|
3
24
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Administrate is inspired by Rails Admin and ActiveAdmin, but aims to provide a better developer/user experience.
|
|
4
|
+
#
|
|
5
|
+
# exe/rag addons/administrate
|
|
6
|
+
|
|
7
|
+
self.local_template_path = File.dirname(__FILE__)
|
|
8
|
+
|
|
9
|
+
gac 'base rails 7 image created'
|
|
10
|
+
|
|
11
|
+
bundle_install
|
|
12
|
+
|
|
13
|
+
add_controller('home', 'index')
|
|
14
|
+
|
|
15
|
+
route("root 'home#index'")
|
|
16
|
+
|
|
17
|
+
force_copy
|
|
18
|
+
|
|
19
|
+
directory "app/controllers"
|
|
20
|
+
directory "app/views/home"
|
|
21
|
+
directory "app/views/layouts"
|
|
22
|
+
template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
|
|
23
|
+
|
|
24
|
+
template 'db/seeds.rb' , 'db/seeds.rb'
|
|
25
|
+
|
|
26
|
+
after_bundle do
|
|
27
|
+
setup_db
|
|
28
|
+
|
|
29
|
+
generate('administrate:install')
|
|
30
|
+
|
|
31
|
+
directory "app/dashboards"
|
|
32
|
+
|
|
33
|
+
rubocop
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def setup_db
|
|
37
|
+
add_scaffold('author', 'name:string email:string bio:text')
|
|
38
|
+
add_scaffold('post', 'title:string content:text published:boolean author:references')
|
|
39
|
+
add_scaffold('product', 'name', 'quantity:integer', 'price:decimal')
|
|
40
|
+
|
|
41
|
+
directory "app/models"
|
|
42
|
+
|
|
43
|
+
db_migrate
|
|
44
|
+
db_seed
|
|
45
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'administrate/base_dashboard'
|
|
4
|
+
|
|
5
|
+
class AuthorDashboard < Administrate::BaseDashboard
|
|
6
|
+
# ATTRIBUTE_TYPES
|
|
7
|
+
# a hash that describes the type of each of the model's fields.
|
|
8
|
+
#
|
|
9
|
+
# Each different type represents an Administrate::Field object,
|
|
10
|
+
# which determines how the attribute is displayed
|
|
11
|
+
# on pages throughout the dashboard.
|
|
12
|
+
ATTRIBUTE_TYPES = {
|
|
13
|
+
id: Field::Number,
|
|
14
|
+
name: Field::String,
|
|
15
|
+
email: Field::String,
|
|
16
|
+
bio: Field::Text,
|
|
17
|
+
posts: Field::HasMany,
|
|
18
|
+
created_at: Field::DateTime,
|
|
19
|
+
updated_at: Field::DateTime
|
|
20
|
+
}.freeze
|
|
21
|
+
|
|
22
|
+
# COLLECTION_ATTRIBUTES
|
|
23
|
+
# an array of attributes that will be displayed on the model's index page.
|
|
24
|
+
#
|
|
25
|
+
# By default, it's limited to four items to reduce clutter on index pages.
|
|
26
|
+
# Feel free to add, remove, or rearrange items.
|
|
27
|
+
COLLECTION_ATTRIBUTES = %i[
|
|
28
|
+
id
|
|
29
|
+
name
|
|
30
|
+
email
|
|
31
|
+
posts
|
|
32
|
+
].freeze
|
|
33
|
+
|
|
34
|
+
# SHOW_PAGE_ATTRIBUTES
|
|
35
|
+
# an array of attributes that will be displayed on the model's show page.
|
|
36
|
+
SHOW_PAGE_ATTRIBUTES = %i[
|
|
37
|
+
id
|
|
38
|
+
name
|
|
39
|
+
email
|
|
40
|
+
bio
|
|
41
|
+
posts
|
|
42
|
+
created_at
|
|
43
|
+
updated_at
|
|
44
|
+
].freeze
|
|
45
|
+
|
|
46
|
+
# FORM_ATTRIBUTES
|
|
47
|
+
# an array of attributes that will be displayed
|
|
48
|
+
# on the model's form (`new` and `edit`) pages.
|
|
49
|
+
FORM_ATTRIBUTES = %i[
|
|
50
|
+
name
|
|
51
|
+
email
|
|
52
|
+
bio
|
|
53
|
+
posts
|
|
54
|
+
].freeze
|
|
55
|
+
|
|
56
|
+
# COLLECTION_FILTERS
|
|
57
|
+
# a hash that defines filters that can be used while searching via the search
|
|
58
|
+
# field of the dashboard.
|
|
59
|
+
#
|
|
60
|
+
# For example to add an option to search for open resources by typing "open:"
|
|
61
|
+
# in the search field:
|
|
62
|
+
#
|
|
63
|
+
# COLLECTION_FILTERS = {
|
|
64
|
+
# open: ->(resources) { resources.where(open: true) }
|
|
65
|
+
# }.freeze
|
|
66
|
+
COLLECTION_FILTERS = {}.freeze
|
|
67
|
+
|
|
68
|
+
# Overwrite this method to customize how authors are displayed
|
|
69
|
+
# across all pages of the admin dashboard.
|
|
70
|
+
#
|
|
71
|
+
# def display_resource(author)
|
|
72
|
+
# "Author ##{author.id}"
|
|
73
|
+
# end
|
|
74
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'administrate/base_dashboard'
|
|
4
|
+
|
|
5
|
+
class PostDashboard < Administrate::BaseDashboard
|
|
6
|
+
# ATTRIBUTE_TYPES
|
|
7
|
+
# a hash that describes the type of each of the model's fields.
|
|
8
|
+
#
|
|
9
|
+
# Each different type represents an Administrate::Field object,
|
|
10
|
+
# which determines how the attribute is displayed
|
|
11
|
+
# on pages throughout the dashboard.
|
|
12
|
+
ATTRIBUTE_TYPES = {
|
|
13
|
+
author: Field::BelongsTo,
|
|
14
|
+
id: Field::Number,
|
|
15
|
+
title: Field::String,
|
|
16
|
+
content: Field::Text,
|
|
17
|
+
published: Field::Boolean,
|
|
18
|
+
created_at: Field::DateTime,
|
|
19
|
+
updated_at: Field::DateTime
|
|
20
|
+
}.freeze
|
|
21
|
+
|
|
22
|
+
# COLLECTION_ATTRIBUTES
|
|
23
|
+
# an array of attributes that will be displayed on the model's index page.
|
|
24
|
+
#
|
|
25
|
+
# By default, it's limited to four items to reduce clutter on index pages.
|
|
26
|
+
# Feel free to add, remove, or rearrange items.
|
|
27
|
+
COLLECTION_ATTRIBUTES = %i[
|
|
28
|
+
author
|
|
29
|
+
id
|
|
30
|
+
title
|
|
31
|
+
content
|
|
32
|
+
].freeze
|
|
33
|
+
|
|
34
|
+
# SHOW_PAGE_ATTRIBUTES
|
|
35
|
+
# an array of attributes that will be displayed on the model's show page.
|
|
36
|
+
SHOW_PAGE_ATTRIBUTES = %i[
|
|
37
|
+
author
|
|
38
|
+
id
|
|
39
|
+
title
|
|
40
|
+
content
|
|
41
|
+
published
|
|
42
|
+
created_at
|
|
43
|
+
updated_at
|
|
44
|
+
].freeze
|
|
45
|
+
|
|
46
|
+
# FORM_ATTRIBUTES
|
|
47
|
+
# an array of attributes that will be displayed
|
|
48
|
+
# on the model's form (`new` and `edit`) pages.
|
|
49
|
+
FORM_ATTRIBUTES = %i[
|
|
50
|
+
author
|
|
51
|
+
title
|
|
52
|
+
content
|
|
53
|
+
published
|
|
54
|
+
].freeze
|
|
55
|
+
|
|
56
|
+
# COLLECTION_FILTERS
|
|
57
|
+
# a hash that defines filters that can be used while searching via the search
|
|
58
|
+
# field of the dashboard.
|
|
59
|
+
#
|
|
60
|
+
# For example to add an option to search for open resources by typing "open:"
|
|
61
|
+
# in the search field:
|
|
62
|
+
#
|
|
63
|
+
# COLLECTION_FILTERS = {
|
|
64
|
+
# open: ->(resources) { resources.where(open: true) }
|
|
65
|
+
# }.freeze
|
|
66
|
+
COLLECTION_FILTERS = {}.freeze
|
|
67
|
+
|
|
68
|
+
# Overwrite this method to customize how posts are displayed
|
|
69
|
+
# across all pages of the admin dashboard.
|
|
70
|
+
#
|
|
71
|
+
# def display_resource(post)
|
|
72
|
+
# "Post ##{post.id}"
|
|
73
|
+
# end
|
|
74
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'administrate/base_dashboard'
|
|
4
|
+
|
|
5
|
+
class ProductDashboard < Administrate::BaseDashboard
|
|
6
|
+
# ATTRIBUTE_TYPES
|
|
7
|
+
# a hash that describes the type of each of the model's fields.
|
|
8
|
+
#
|
|
9
|
+
# Each different type represents an Administrate::Field object,
|
|
10
|
+
# which determines how the attribute is displayed
|
|
11
|
+
# on pages throughout the dashboard.
|
|
12
|
+
ATTRIBUTE_TYPES = {
|
|
13
|
+
id: Field::Number,
|
|
14
|
+
name: Field::String,
|
|
15
|
+
quantity: Field::Number,
|
|
16
|
+
price: Field::String.with_options(searchable: false),
|
|
17
|
+
created_at: Field::DateTime,
|
|
18
|
+
updated_at: Field::DateTime
|
|
19
|
+
}.freeze
|
|
20
|
+
|
|
21
|
+
# COLLECTION_ATTRIBUTES
|
|
22
|
+
# an array of attributes that will be displayed on the model's index page.
|
|
23
|
+
#
|
|
24
|
+
# By default, it's limited to four items to reduce clutter on index pages.
|
|
25
|
+
# Feel free to add, remove, or rearrange items.
|
|
26
|
+
COLLECTION_ATTRIBUTES = %i[
|
|
27
|
+
id
|
|
28
|
+
name
|
|
29
|
+
quantity
|
|
30
|
+
price
|
|
31
|
+
].freeze
|
|
32
|
+
|
|
33
|
+
# SHOW_PAGE_ATTRIBUTES
|
|
34
|
+
# an array of attributes that will be displayed on the model's show page.
|
|
35
|
+
SHOW_PAGE_ATTRIBUTES = %i[
|
|
36
|
+
id
|
|
37
|
+
name
|
|
38
|
+
quantity
|
|
39
|
+
price
|
|
40
|
+
created_at
|
|
41
|
+
updated_at
|
|
42
|
+
].freeze
|
|
43
|
+
|
|
44
|
+
# FORM_ATTRIBUTES
|
|
45
|
+
# an array of attributes that will be displayed
|
|
46
|
+
# on the model's form (`new` and `edit`) pages.
|
|
47
|
+
FORM_ATTRIBUTES = %i[
|
|
48
|
+
name
|
|
49
|
+
quantity
|
|
50
|
+
price
|
|
51
|
+
].freeze
|
|
52
|
+
|
|
53
|
+
# COLLECTION_FILTERS
|
|
54
|
+
# a hash that defines filters that can be used while searching via the search
|
|
55
|
+
# field of the dashboard.
|
|
56
|
+
#
|
|
57
|
+
# For example to add an option to search for open resources by typing "open:"
|
|
58
|
+
# in the search field:
|
|
59
|
+
#
|
|
60
|
+
# COLLECTION_FILTERS = {
|
|
61
|
+
# open: ->(resources) { resources.where(open: true) }
|
|
62
|
+
# }.freeze
|
|
63
|
+
COLLECTION_FILTERS = {}.freeze
|
|
64
|
+
|
|
65
|
+
# Overwrite this method to customize how products are displayed
|
|
66
|
+
# across all pages of the admin dashboard.
|
|
67
|
+
#
|
|
68
|
+
# def display_resource(product)
|
|
69
|
+
# "Product ##{product.id}"
|
|
70
|
+
# end
|
|
71
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
</head>
|
|
15
|
+
|
|
16
|
+
<body>
|
|
17
|
+
<%%= render 'layouts/navbar' %>
|
|
18
|
+
<main>
|
|
19
|
+
<%%= yield %>
|
|
20
|
+
</main>
|
|
21
|
+
<%%= render 'layouts/footer' %>
|
|
22
|
+
</body>
|
|
23
|
+
</html>
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
def fake_title
|
|
2
|
+
[
|
|
3
|
+
'Fundamentals of Wavelets',
|
|
4
|
+
'Data Smart',
|
|
5
|
+
'God Created the Integers',
|
|
6
|
+
'Superfreakonomics',
|
|
7
|
+
'Orientalism',
|
|
8
|
+
'Nature of Statistical Learning Theory',
|
|
9
|
+
'Integration of the Indian States',
|
|
10
|
+
'Image Processing & Mathematical Morphology',
|
|
11
|
+
'How to Think Like Sherlock Holmes',
|
|
12
|
+
'Data Scientists at Work',
|
|
13
|
+
'Slaughterhouse Five',
|
|
14
|
+
'Birth of a Theorem',
|
|
15
|
+
'Structure & Interpretation of Computer Programs',
|
|
16
|
+
'Age of Wrath',
|
|
17
|
+
'Trial',
|
|
18
|
+
'Data Mining Handbook',
|
|
19
|
+
'New Machiavelli',
|
|
20
|
+
'Physics & Philosophy',
|
|
21
|
+
'Making Software',
|
|
22
|
+
'Analysis',
|
|
23
|
+
'Machine Learning for Hackers',
|
|
24
|
+
'Signal and the Noise',
|
|
25
|
+
'Python for Data Analysis',
|
|
26
|
+
'Introduction to Algorithms',
|
|
27
|
+
'Beautiful and the Damned',
|
|
28
|
+
'Outsider',
|
|
29
|
+
'Complete Sherlock Holmes',
|
|
30
|
+
'Complete Sherlock Holmes',
|
|
31
|
+
'Wealth of Nations',
|
|
32
|
+
'Pillars of the Earth',
|
|
33
|
+
'Mein Kampf',
|
|
34
|
+
'Tao of Physics',
|
|
35
|
+
'Farewell to Arms',
|
|
36
|
+
'Veteran',
|
|
37
|
+
'False Impressions',
|
|
38
|
+
'Last Lecture',
|
|
39
|
+
'Return of the Primitive',
|
|
40
|
+
'Jurassic Park',
|
|
41
|
+
'Russian Journal',
|
|
42
|
+
'Tales of Mystery and Imagination',
|
|
43
|
+
'Freakonomics',
|
|
44
|
+
'Hidden Connections',
|
|
45
|
+
'Story of Philosophy',
|
|
46
|
+
'Asami Asami',
|
|
47
|
+
'Journal of a Novel',
|
|
48
|
+
'Once There Was a War',
|
|
49
|
+
'Moon is Down',
|
|
50
|
+
'Brethren',
|
|
51
|
+
'In a Free State',
|
|
52
|
+
'Catch 22',
|
|
53
|
+
'Complete Mastermind',
|
|
54
|
+
'Dylan on Dylan',
|
|
55
|
+
'Soft Computing & Intelligent Systems',
|
|
56
|
+
'Textbook of Economic Theory',
|
|
57
|
+
'Econometric Analysis',
|
|
58
|
+
'Learning OpenCV',
|
|
59
|
+
'Data Structures Using C & C++',
|
|
60
|
+
'Computer Vision',
|
|
61
|
+
'Principles of Communication Systems',
|
|
62
|
+
'Let Us C',
|
|
63
|
+
'Amulet of Samarkand',
|
|
64
|
+
'Crime and Punishment',
|
|
65
|
+
'Angels & Demons',
|
|
66
|
+
'Argumentative Indian',
|
|
67
|
+
'Sea of Poppies',
|
|
68
|
+
'Idea of Justice',
|
|
69
|
+
'Raisin in the Sun',
|
|
70
|
+
'Prisoner of Birth',
|
|
71
|
+
'Scoop!',
|
|
72
|
+
'Ahe Manohar Tari',
|
|
73
|
+
'Last Mughal',
|
|
74
|
+
'Social Choice & Welfare',
|
|
75
|
+
'Radiowaril Bhashane & Shrutika',
|
|
76
|
+
'Gun Gayin Awadi',
|
|
77
|
+
'Aghal Paghal',
|
|
78
|
+
'Beyond Degrees',
|
|
79
|
+
'Manasa',
|
|
80
|
+
'India from Midnight to Milennium',
|
|
81
|
+
'Great Indian Novel',
|
|
82
|
+
'O Jerusalem!',
|
|
83
|
+
'City of Joy',
|
|
84
|
+
'Freedom at Midnight',
|
|
85
|
+
'Winter of Our Discontent',
|
|
86
|
+
'On Education',
|
|
87
|
+
'Free Will',
|
|
88
|
+
'Bookless in Baghdad',
|
|
89
|
+
'Case of the Lame Canary',
|
|
90
|
+
'Theory of Everything',
|
|
91
|
+
'New Markets & Other Essays',
|
|
92
|
+
'Electric Universe',
|
|
93
|
+
'Hunchback of Notre Dame',
|
|
94
|
+
'Burning Bright',
|
|
95
|
+
'Age of Discontuinity'
|
|
96
|
+
].sample
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
60.times do
|
|
100
|
+
Author.create!(name: Faker::Name.name, bio: Faker::Lorem.words(number: 5).join(' '), email: Faker::Internet.email)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
100.times do |i|
|
|
104
|
+
Post.create!(title: fake_title,
|
|
105
|
+
content: "This is the body of post #{i}",
|
|
106
|
+
published: Faker::Boolean.boolean(true_ratio: 0.6),
|
|
107
|
+
author: Author.all.sample)
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
200.times do
|
|
111
|
+
Product.create!(
|
|
112
|
+
name: Faker::Name.name,
|
|
113
|
+
quantity: Faker::Number.number(digits: 2),
|
|
114
|
+
price: Faker::Number.decimal(l_digits: 4)
|
|
115
|
+
)
|
|
116
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Motor Admin allows to create a flexible admin panel while writing less code.
|
|
4
|
+
#
|
|
5
|
+
# exe/rag addons/motor_admin
|
|
6
|
+
|
|
7
|
+
self.local_template_path = File.dirname(__FILE__)
|
|
8
|
+
|
|
9
|
+
gac 'base rails 7 image created'
|
|
10
|
+
|
|
11
|
+
bundle_install
|
|
12
|
+
|
|
13
|
+
add_controller('home', 'index')
|
|
14
|
+
|
|
15
|
+
route("root 'home#index'")
|
|
16
|
+
|
|
17
|
+
force_copy
|
|
18
|
+
|
|
19
|
+
directory "app/controllers"
|
|
20
|
+
directory "app/views/home"
|
|
21
|
+
directory "app/views/layouts"
|
|
22
|
+
template 'app/views/layouts/application.html.erb' , 'app/views/layouts/application.html.erb'
|
|
23
|
+
|
|
24
|
+
template 'db/seeds.rb' , 'db/seeds.rb'
|
|
25
|
+
|
|
26
|
+
after_bundle do
|
|
27
|
+
setup_db
|
|
28
|
+
|
|
29
|
+
generate('motor:install')
|
|
30
|
+
db_migrate
|
|
31
|
+
# generate('administrate:install')
|
|
32
|
+
|
|
33
|
+
# directory "app/dashboards"
|
|
34
|
+
|
|
35
|
+
rubocop
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def setup_db
|
|
39
|
+
add_scaffold('author', 'name:string email:string bio:text')
|
|
40
|
+
add_scaffold('post', 'title:string content:text published:boolean author:references')
|
|
41
|
+
add_scaffold('product', 'name', 'quantity:integer', 'price:decimal')
|
|
42
|
+
|
|
43
|
+
directory "app/models"
|
|
44
|
+
|
|
45
|
+
db_migrate
|
|
46
|
+
db_seed
|
|
47
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
</head>
|
|
15
|
+
|
|
16
|
+
<body>
|
|
17
|
+
<%%= render 'layouts/navbar' %>
|
|
18
|
+
<main>
|
|
19
|
+
<%%= yield %>
|
|
20
|
+
</main>
|
|
21
|
+
<%%= render 'layouts/footer' %>
|
|
22
|
+
</body>
|
|
23
|
+
</html>
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
def fake_title
|
|
2
|
+
[
|
|
3
|
+
'Fundamentals of Wavelets',
|
|
4
|
+
'Data Smart',
|
|
5
|
+
'God Created the Integers',
|
|
6
|
+
'Superfreakonomics',
|
|
7
|
+
'Orientalism',
|
|
8
|
+
'Nature of Statistical Learning Theory',
|
|
9
|
+
'Integration of the Indian States',
|
|
10
|
+
'Image Processing & Mathematical Morphology',
|
|
11
|
+
'How to Think Like Sherlock Holmes',
|
|
12
|
+
'Data Scientists at Work',
|
|
13
|
+
'Slaughterhouse Five',
|
|
14
|
+
'Birth of a Theorem',
|
|
15
|
+
'Structure & Interpretation of Computer Programs',
|
|
16
|
+
'Age of Wrath',
|
|
17
|
+
'Trial',
|
|
18
|
+
'Data Mining Handbook',
|
|
19
|
+
'New Machiavelli',
|
|
20
|
+
'Physics & Philosophy',
|
|
21
|
+
'Making Software',
|
|
22
|
+
'Analysis',
|
|
23
|
+
'Machine Learning for Hackers',
|
|
24
|
+
'Signal and the Noise',
|
|
25
|
+
'Python for Data Analysis',
|
|
26
|
+
'Introduction to Algorithms',
|
|
27
|
+
'Beautiful and the Damned',
|
|
28
|
+
'Outsider',
|
|
29
|
+
'Complete Sherlock Holmes',
|
|
30
|
+
'Complete Sherlock Holmes',
|
|
31
|
+
'Wealth of Nations',
|
|
32
|
+
'Pillars of the Earth',
|
|
33
|
+
'Mein Kampf',
|
|
34
|
+
'Tao of Physics',
|
|
35
|
+
'Farewell to Arms',
|
|
36
|
+
'Veteran',
|
|
37
|
+
'False Impressions',
|
|
38
|
+
'Last Lecture',
|
|
39
|
+
'Return of the Primitive',
|
|
40
|
+
'Jurassic Park',
|
|
41
|
+
'Russian Journal',
|
|
42
|
+
'Tales of Mystery and Imagination',
|
|
43
|
+
'Freakonomics',
|
|
44
|
+
'Hidden Connections',
|
|
45
|
+
'Story of Philosophy',
|
|
46
|
+
'Asami Asami',
|
|
47
|
+
'Journal of a Novel',
|
|
48
|
+
'Once There Was a War',
|
|
49
|
+
'Moon is Down',
|
|
50
|
+
'Brethren',
|
|
51
|
+
'In a Free State',
|
|
52
|
+
'Catch 22',
|
|
53
|
+
'Complete Mastermind',
|
|
54
|
+
'Dylan on Dylan',
|
|
55
|
+
'Soft Computing & Intelligent Systems',
|
|
56
|
+
'Textbook of Economic Theory',
|
|
57
|
+
'Econometric Analysis',
|
|
58
|
+
'Learning OpenCV',
|
|
59
|
+
'Data Structures Using C & C++',
|
|
60
|
+
'Computer Vision',
|
|
61
|
+
'Principles of Communication Systems',
|
|
62
|
+
'Let Us C',
|
|
63
|
+
'Amulet of Samarkand',
|
|
64
|
+
'Crime and Punishment',
|
|
65
|
+
'Angels & Demons',
|
|
66
|
+
'Argumentative Indian',
|
|
67
|
+
'Sea of Poppies',
|
|
68
|
+
'Idea of Justice',
|
|
69
|
+
'Raisin in the Sun',
|
|
70
|
+
'Prisoner of Birth',
|
|
71
|
+
'Scoop!',
|
|
72
|
+
'Ahe Manohar Tari',
|
|
73
|
+
'Last Mughal',
|
|
74
|
+
'Social Choice & Welfare',
|
|
75
|
+
'Radiowaril Bhashane & Shrutika',
|
|
76
|
+
'Gun Gayin Awadi',
|
|
77
|
+
'Aghal Paghal',
|
|
78
|
+
'Beyond Degrees',
|
|
79
|
+
'Manasa',
|
|
80
|
+
'India from Midnight to Milennium',
|
|
81
|
+
'Great Indian Novel',
|
|
82
|
+
'O Jerusalem!',
|
|
83
|
+
'City of Joy',
|
|
84
|
+
'Freedom at Midnight',
|
|
85
|
+
'Winter of Our Discontent',
|
|
86
|
+
'On Education',
|
|
87
|
+
'Free Will',
|
|
88
|
+
'Bookless in Baghdad',
|
|
89
|
+
'Case of the Lame Canary',
|
|
90
|
+
'Theory of Everything',
|
|
91
|
+
'New Markets & Other Essays',
|
|
92
|
+
'Electric Universe',
|
|
93
|
+
'Hunchback of Notre Dame',
|
|
94
|
+
'Burning Bright',
|
|
95
|
+
'Age of Discontuinity'
|
|
96
|
+
].sample
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
60.times do
|
|
100
|
+
Author.create!(name: Faker::Name.name, bio: Faker::Lorem.words(number: 5).join(' '), email: Faker::Internet.email)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
100.times do |i|
|
|
104
|
+
Post.create!(title: fake_title,
|
|
105
|
+
content: "This is the body of post #{i}",
|
|
106
|
+
published: Faker::Boolean.boolean(true_ratio: 0.6),
|
|
107
|
+
author: Author.all.sample)
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
200.times do
|
|
111
|
+
Product.create!(
|
|
112
|
+
name: Faker::Name.name,
|
|
113
|
+
quantity: Faker::Number.number(digits: 2),
|
|
114
|
+
price: Faker::Number.decimal(l_digits: 4)
|
|
115
|
+
)
|
|
116
|
+
end
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"add_annotate",
|
|
47
47
|
"add_lograge",
|
|
48
48
|
"add_acts_as_list",
|
|
49
|
+
"add_administrate",
|
|
49
50
|
"add_browser",
|
|
50
51
|
"add_bcrypt_ruby",
|
|
51
52
|
"add_chartkick",
|
|
@@ -55,6 +56,7 @@
|
|
|
55
56
|
"add_httparty",
|
|
56
57
|
"add_honeybadger",
|
|
57
58
|
"add_mini_magick",
|
|
59
|
+
"add_motor_admin",
|
|
58
60
|
"add_phony_rails",
|
|
59
61
|
"add_public_suffix",
|
|
60
62
|
"add_rails_html_sanitizer",
|
|
@@ -384,6 +386,13 @@
|
|
|
384
386
|
"default": false,
|
|
385
387
|
"required": false
|
|
386
388
|
},
|
|
389
|
+
{
|
|
390
|
+
"name": "add_administrate",
|
|
391
|
+
"description": "Indicates when to generate add administrate",
|
|
392
|
+
"type": "boolean",
|
|
393
|
+
"default": false,
|
|
394
|
+
"required": false
|
|
395
|
+
},
|
|
387
396
|
{
|
|
388
397
|
"name": "add_browser",
|
|
389
398
|
"description": "Indicates when to generate add browser",
|
|
@@ -447,6 +456,13 @@
|
|
|
447
456
|
"default": false,
|
|
448
457
|
"required": false
|
|
449
458
|
},
|
|
459
|
+
{
|
|
460
|
+
"name": "add_motor_admin",
|
|
461
|
+
"description": "Indicates when to generate add motor admin",
|
|
462
|
+
"type": "boolean",
|
|
463
|
+
"default": false,
|
|
464
|
+
"required": false
|
|
465
|
+
},
|
|
450
466
|
{
|
|
451
467
|
"name": "add_phony_rails",
|
|
452
468
|
"description": "Indicates when to generate add phony rails",
|
|
@@ -32,24 +32,26 @@
|
|
|
32
32
|
"test": "rspec",
|
|
33
33
|
"add_devise": false,
|
|
34
34
|
"add_dotenv": false,
|
|
35
|
-
"add_rubocop":
|
|
36
|
-
"add_annotate":
|
|
35
|
+
"add_rubocop": true,
|
|
36
|
+
"add_annotate": true,
|
|
37
37
|
"add_lograge": false,
|
|
38
38
|
"add_acts_as_list": false,
|
|
39
|
+
"add_administrate": false,
|
|
39
40
|
"add_browser": false,
|
|
40
41
|
"add_bcrypt_ruby": false,
|
|
41
42
|
"add_chartkick": false,
|
|
42
|
-
"add_faker":
|
|
43
|
+
"add_faker": true,
|
|
43
44
|
"add_groupdate": false,
|
|
44
45
|
"add_hexapdf": false,
|
|
45
46
|
"add_httparty": false,
|
|
46
47
|
"add_honeybadger": false,
|
|
47
48
|
"add_mini_magick": false,
|
|
49
|
+
"add_motor_admin": true,
|
|
48
50
|
"add_phony_rails": false,
|
|
49
51
|
"add_public_suffix": false,
|
|
50
52
|
"add_rails_html_sanitizer": false,
|
|
51
|
-
"add_redcarpet":
|
|
53
|
+
"add_redcarpet": false,
|
|
52
54
|
"add_twilio_ruby": false,
|
|
53
|
-
"template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/
|
|
55
|
+
"template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/motor_admin/_.rb"
|
|
54
56
|
}
|
|
55
57
|
}
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"add_annotate",
|
|
47
47
|
"add_lograge",
|
|
48
48
|
"add_acts_as_list",
|
|
49
|
+
"add_administrate",
|
|
49
50
|
"add_browser",
|
|
50
51
|
"add_bcrypt_ruby",
|
|
51
52
|
"add_chartkick",
|
|
@@ -55,6 +56,7 @@
|
|
|
55
56
|
"add_httparty",
|
|
56
57
|
"add_honeybadger",
|
|
57
58
|
"add_mini_magick",
|
|
59
|
+
"add_motor_admin",
|
|
58
60
|
"add_phony_rails",
|
|
59
61
|
"add_public_suffix",
|
|
60
62
|
"add_rails_html_sanitizer",
|
|
@@ -384,6 +386,13 @@
|
|
|
384
386
|
"default": false,
|
|
385
387
|
"required": false
|
|
386
388
|
},
|
|
389
|
+
{
|
|
390
|
+
"name": "add_administrate",
|
|
391
|
+
"description": "",
|
|
392
|
+
"type": "boolean",
|
|
393
|
+
"default": false,
|
|
394
|
+
"required": false
|
|
395
|
+
},
|
|
387
396
|
{
|
|
388
397
|
"name": "add_browser",
|
|
389
398
|
"description": "",
|
|
@@ -447,6 +456,13 @@
|
|
|
447
456
|
"default": false,
|
|
448
457
|
"required": false
|
|
449
458
|
},
|
|
459
|
+
{
|
|
460
|
+
"name": "add_motor_admin",
|
|
461
|
+
"description": "",
|
|
462
|
+
"type": "boolean",
|
|
463
|
+
"default": false,
|
|
464
|
+
"required": false
|
|
465
|
+
},
|
|
450
466
|
{
|
|
451
467
|
"name": "add_phony_rails",
|
|
452
468
|
"description": "",
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"quiet": false,
|
|
8
8
|
"skip": false,
|
|
9
9
|
"ruby": "/Users/davidcruwys/.asdf/installs/ruby/2.7.6/bin/ruby",
|
|
10
|
-
"template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/
|
|
10
|
+
"template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/motor_admin/_.rb",
|
|
11
11
|
"database": "sqlite3",
|
|
12
12
|
"skip_git": true,
|
|
13
13
|
"skip_keeps": false,
|
|
@@ -42,23 +42,25 @@
|
|
|
42
42
|
"test": "rspec",
|
|
43
43
|
"add_devise": false,
|
|
44
44
|
"add_dotenv": false,
|
|
45
|
-
"add_rubocop":
|
|
46
|
-
"add_annotate":
|
|
45
|
+
"add_rubocop": true,
|
|
46
|
+
"add_annotate": true,
|
|
47
47
|
"add_lograge": false,
|
|
48
48
|
"add_acts_as_list": false,
|
|
49
|
+
"add_administrate": false,
|
|
49
50
|
"add_browser": false,
|
|
50
51
|
"add_bcrypt_ruby": false,
|
|
51
52
|
"add_chartkick": false,
|
|
52
|
-
"add_faker":
|
|
53
|
+
"add_faker": true,
|
|
53
54
|
"add_groupdate": false,
|
|
54
55
|
"add_hexapdf": false,
|
|
55
56
|
"add_httparty": false,
|
|
56
57
|
"add_honeybadger": false,
|
|
57
58
|
"add_mini_magick": false,
|
|
59
|
+
"add_motor_admin": true,
|
|
58
60
|
"add_phony_rails": false,
|
|
59
61
|
"add_public_suffix": false,
|
|
60
62
|
"add_rails_html_sanitizer": false,
|
|
61
|
-
"add_redcarpet":
|
|
63
|
+
"add_redcarpet": false,
|
|
62
64
|
"add_twilio_ruby": false
|
|
63
65
|
}
|
|
64
66
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RailsAppGenerator
|
|
4
|
+
# Custom add-ons for RailsAppGenerator
|
|
5
|
+
module AddOns
|
|
6
|
+
# Add MotorAdmin to rails application
|
|
7
|
+
class MotorAdmin < RailsAppGenerator::Addon
|
|
8
|
+
required_gem gem.version('motor-admin', '0.3.6', 'Motor Admin allows to create a flexible admin panel while writing less code.')
|
|
9
|
+
|
|
10
|
+
def apply
|
|
11
|
+
say 'Setting up MotorAdmin'
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def before_bundle
|
|
15
|
+
say 'Setting up MotorAdmin - before bundle install'
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def after_bundle
|
|
19
|
+
say 'Setting up MotorAdmin - after bundle install'
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -117,6 +117,7 @@ KConfig.configure do |config|
|
|
|
117
117
|
rag.add_option :add_httparty , type: :boolean, default: false
|
|
118
118
|
rag.add_option :add_honeybadger , type: :boolean, default: false
|
|
119
119
|
rag.add_option :add_mini_magick , type: :boolean, default: false
|
|
120
|
+
rag.add_option :add_motor_admin , type: :boolean, default: false
|
|
120
121
|
rag.add_option :add_phony_rails , type: :boolean, default: false
|
|
121
122
|
rag.add_option :add_public_suffix , type: :boolean, default: false
|
|
122
123
|
rag.add_option :add_rails_html_sanitizer , type: :boolean, default: false
|
data/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rails_app_generator",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.13",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "rails_app_generator",
|
|
9
|
-
"version": "0.2.
|
|
9
|
+
"version": "0.2.13",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"daisyui": "^2.20.0"
|
|
12
12
|
},
|
data/package.json
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"args": {
|
|
3
|
+
"app_path": "administrate",
|
|
4
|
+
"destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/addons"
|
|
5
|
+
},
|
|
6
|
+
"opts": {
|
|
7
|
+
"skip_git": true,
|
|
8
|
+
"skip_test": true,
|
|
9
|
+
"template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/administrate/_.rb",
|
|
10
|
+
"add_annotate": true,
|
|
11
|
+
"add_administrate": true,
|
|
12
|
+
"add_faker": true,
|
|
13
|
+
"add_rubocop": true
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"args": {
|
|
3
|
+
"app_path": "motor_admin",
|
|
4
|
+
"destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/addons"
|
|
5
|
+
},
|
|
6
|
+
"opts": {
|
|
7
|
+
"skip_git": true,
|
|
8
|
+
"skip_test": true,
|
|
9
|
+
"template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/motor_admin/_.rb",
|
|
10
|
+
"add_annotate": true,
|
|
11
|
+
"add_faker": true,
|
|
12
|
+
"add_motor_admin": true,
|
|
13
|
+
"add_rubocop": true
|
|
14
|
+
}
|
|
15
|
+
}
|
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.2.
|
|
4
|
+
version: 0.2.13
|
|
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-08-
|
|
11
|
+
date: 2022-08-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bootsnap
|
|
@@ -189,6 +189,18 @@ files:
|
|
|
189
189
|
- after_templates/addons/acts_as_list/app/views/todo_items/index.html.erb
|
|
190
190
|
- after_templates/addons/acts_as_list/config/routes.rb
|
|
191
191
|
- after_templates/addons/acts_as_list/db/seeds.rb
|
|
192
|
+
- after_templates/addons/administrate/_.rb
|
|
193
|
+
- after_templates/addons/administrate/app/controllers/home_controller.rb
|
|
194
|
+
- after_templates/addons/administrate/app/dashboards/author_dashboard.rb
|
|
195
|
+
- after_templates/addons/administrate/app/dashboards/post_dashboard.rb
|
|
196
|
+
- after_templates/addons/administrate/app/dashboards/product_dashboard.rb
|
|
197
|
+
- after_templates/addons/administrate/app/models/author.rb
|
|
198
|
+
- after_templates/addons/administrate/app/models/post.rb
|
|
199
|
+
- after_templates/addons/administrate/app/views/home/index.html.erb
|
|
200
|
+
- after_templates/addons/administrate/app/views/layouts/_footer.html.erb
|
|
201
|
+
- after_templates/addons/administrate/app/views/layouts/_navbar.html.erb
|
|
202
|
+
- after_templates/addons/administrate/app/views/layouts/application.html.erb
|
|
203
|
+
- after_templates/addons/administrate/db/seeds.rb
|
|
192
204
|
- after_templates/addons/bcrypt_ruby/_.rb
|
|
193
205
|
- after_templates/addons/bcrypt_ruby/app/controllers/home_controller.rb
|
|
194
206
|
- after_templates/addons/bcrypt_ruby/app/models/user.rb
|
|
@@ -260,6 +272,13 @@ files:
|
|
|
260
272
|
- after_templates/addons/mini_magick/app/views/layouts/_footer.html.erb
|
|
261
273
|
- after_templates/addons/mini_magick/app/views/layouts/_navbar.html.erb
|
|
262
274
|
- after_templates/addons/mini_magick/app/views/layouts/application.html.erb
|
|
275
|
+
- after_templates/addons/motor_admin/_.rb
|
|
276
|
+
- after_templates/addons/motor_admin/app/controllers/home_controller.rb
|
|
277
|
+
- after_templates/addons/motor_admin/app/views/home/index.html.erb
|
|
278
|
+
- after_templates/addons/motor_admin/app/views/layouts/_footer.html.erb
|
|
279
|
+
- after_templates/addons/motor_admin/app/views/layouts/_navbar.html.erb
|
|
280
|
+
- after_templates/addons/motor_admin/app/views/layouts/application.html.erb
|
|
281
|
+
- after_templates/addons/motor_admin/db/seeds.rb
|
|
263
282
|
- after_templates/addons/phony_rails/_.rb
|
|
264
283
|
- after_templates/addons/phony_rails/app/controllers/home_controller.rb
|
|
265
284
|
- after_templates/addons/phony_rails/app/views/home/index.html.erb
|
|
@@ -509,6 +528,7 @@ files:
|
|
|
509
528
|
- lib/rails_app_generator/addons/irbrc.rb
|
|
510
529
|
- lib/rails_app_generator/addons/lograge.rb
|
|
511
530
|
- lib/rails_app_generator/addons/mini_magick.rb
|
|
531
|
+
- lib/rails_app_generator/addons/motor_admin.rb
|
|
512
532
|
- lib/rails_app_generator/addons/phony_rails.rb
|
|
513
533
|
- lib/rails_app_generator/addons/public_suffix.rb
|
|
514
534
|
- lib/rails_app_generator/addons/pundit.rb
|
|
@@ -559,6 +579,7 @@ files:
|
|
|
559
579
|
- package-lock.json
|
|
560
580
|
- package.json
|
|
561
581
|
- profiles/addons/acts_as_list.json
|
|
582
|
+
- profiles/addons/administrate.json
|
|
562
583
|
- profiles/addons/bcrypt_ruby.json
|
|
563
584
|
- profiles/addons/browser.json
|
|
564
585
|
- profiles/addons/chartkick.json
|
|
@@ -569,6 +590,7 @@ files:
|
|
|
569
590
|
- profiles/addons/httparty.json
|
|
570
591
|
- profiles/addons/lograge.json
|
|
571
592
|
- profiles/addons/mini_magick.json
|
|
593
|
+
- profiles/addons/motor_admin.json
|
|
572
594
|
- profiles/addons/phony_rails.json
|
|
573
595
|
- profiles/addons/public_suffix.json
|
|
574
596
|
- profiles/addons/rails-html-sanitizer.json
|