crudable-rails 1.3 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +194 -10
  3. data/Rakefile +4 -2
  4. data/lib/crudable/rails/base.rb +133 -19
  5. data/lib/crudable/rails/controller.rb +1 -2
  6. data/lib/crudable/rails/engine.rb +7 -1
  7. data/lib/crudable/rails/generators/scaffold_controller_extension.rb +55 -0
  8. data/lib/crudable/rails/generators/scaffold_extension.rb +29 -0
  9. data/lib/crudable/rails/generators/turbo_forms_generator_option.rb +16 -0
  10. data/lib/crudable/rails/generators/turbo_forms_scaffold_extension.rb +44 -0
  11. data/lib/crudable/rails/installer.rb +35 -0
  12. data/lib/crudable/rails/nestable.rb +78 -9
  13. data/lib/crudable/rails/resourceable.rb +29 -3
  14. data/lib/crudable/rails/version.rb +1 -1
  15. data/lib/crudable-rails.rb +8 -1
  16. data/lib/generators/crudable/controller/USAGE +23 -0
  17. data/lib/generators/crudable/controller/controller_generator.rb +19 -0
  18. data/lib/generators/crudable/controller_helpers.rb +58 -0
  19. data/lib/generators/crudable/install/USAGE +8 -0
  20. data/lib/generators/crudable/install/install_generator.rb +19 -0
  21. data/lib/generators/crudable/scaffold/USAGE +20 -0
  22. data/lib/generators/crudable/scaffold/scaffold_generator.rb +16 -0
  23. data/lib/generators/crudable/templates/crudable_controller.rb.tt +257 -0
  24. data/lib/generators/crudable/templates/turbo_forms/_form.html.erb.tt +37 -0
  25. data/lib/generators/crudable/templates/turbo_forms/edit.html.erb.tt +14 -0
  26. data/lib/generators/crudable/templates/turbo_forms/edit.turbo_stream.erb.tt +3 -0
  27. data/lib/generators/crudable/templates/turbo_forms/new.html.erb.tt +13 -0
  28. data/lib/generators/crudable/templates/turbo_forms/new.turbo_stream.erb.tt +3 -0
  29. data/lib/tasks/crudable_tasks.rake +14 -4
  30. metadata +35 -16
@@ -0,0 +1,37 @@
1
+ <%%= form_with model: <%= form_with_model %> do |f| %>
2
+ <%% if f.object.errors.any? %>
3
+ <div style="color: red">
4
+ <h2><%%= pluralize(f.object.errors.count, "error") %> prohibited this <%= singular_table_name %> from being saved:</h2>
5
+
6
+ <ul>
7
+ <%% f.object.errors.each do |error| %>
8
+ <li><%%= error.full_message %></li>
9
+ <%% end %>
10
+ </ul>
11
+ </div>
12
+ <%% end %>
13
+
14
+ <% form_attributes.each do |attribute| -%>
15
+ <div>
16
+ <% if attribute.password_digest? -%>
17
+ <%%= f.label :password, style: "display: block" %>
18
+ <%%= f.password_field :password %>
19
+ </div>
20
+
21
+ <div>
22
+ <%%= f.label :password_confirmation, style: "display: block" %>
23
+ <%%= f.password_field :password_confirmation %>
24
+ <% elsif attribute.attachments? -%>
25
+ <%%= f.label :<%= attribute.column_name %>, style: "display: block" %>
26
+ <%%= f.<%= attribute.field_type %> :<%= attribute.column_name %>, multiple: true %>
27
+ <% else -%>
28
+ <%%= f.label :<%= attribute.column_name %>, style: "display: block" %>
29
+ <%%= f.<%= attribute.field_type %> :<%= attribute.column_name %> %>
30
+ <% end -%>
31
+ </div>
32
+
33
+ <% end -%>
34
+ <div>
35
+ <%%= f.submit %>
36
+ </div>
37
+ <%% end %>
@@ -0,0 +1,14 @@
1
+ <%% content_for :title, "Editing <%= human_name.downcase %>" %>
2
+
3
+ <h1>Editing <%= human_name.downcase %></h1>
4
+
5
+ <%%= tag.div id: dom_id(@<%= singular_table_name %>, :form) do %>
6
+ <%%= render "form", <%= singular_table_name %>: @<%= singular_table_name %> %>
7
+ <%% end %>
8
+
9
+ <br>
10
+
11
+ <div>
12
+ <%%= link_to "Show this <%= human_name.downcase %>", <%= model_resource_name(prefix: "@") %> %> |
13
+ <%%= link_to "Back to <%= human_name.pluralize.downcase %>", <%= index_helper(type: :path) %> %>
14
+ </div>
@@ -0,0 +1,3 @@
1
+ <%%= turbo_stream.replace dom_id(@<%= singular_table_name %>, :form) do %>
2
+ <%%= render "form", <%= singular_table_name %>: @<%= singular_table_name %> %>
3
+ <%% end %>
@@ -0,0 +1,13 @@
1
+ <%% content_for :title, "New <%= human_name.downcase %>" %>
2
+
3
+ <h1>New <%= human_name.downcase %></h1>
4
+
5
+ <%%= tag.div id: dom_id(@<%= singular_table_name %>, :form) do %>
6
+ <%%= render "form", <%= singular_table_name %>: @<%= singular_table_name %> %>
7
+ <%% end %>
8
+
9
+ <br>
10
+
11
+ <div>
12
+ <%%= link_to "Back to <%= human_name.pluralize.downcase %>", <%= index_helper(type: :path) %> %>
13
+ </div>
@@ -0,0 +1,3 @@
1
+ <%%= turbo_stream.replace dom_id(@<%= singular_table_name %>, :form) do %>
2
+ <%%= render "form", <%= singular_table_name %>: @<%= singular_table_name %> %>
3
+ <%% end %>
@@ -1,4 +1,14 @@
1
- # desc "Explaining what the task does"
2
- # task :crudable do
3
- # # Task goes here
4
- # end
1
+ # frozen_string_literal: true
2
+
3
+ namespace :crudable do
4
+ desc 'Install crudable-rails configuration'
5
+ task install: :environment do
6
+ updated = Crudable::Rails.postinstall
7
+
8
+ if updated.any?
9
+ puts "Set raise_on_missing_callback_actions to true in: #{updated.join(', ')}"
10
+ else
11
+ puts 'No environment files with raise_on_missing_callback_actions = false were found.'
12
+ end
13
+ end
14
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crudable-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.3'
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomislav Simnett
@@ -15,7 +15,7 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: '7.0'
18
+ version: 7.2.0
19
19
  - - "<"
20
20
  - !ruby/object:Gem::Version
21
21
  version: 9.0.0
@@ -25,7 +25,7 @@ dependencies:
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: '7.0'
28
+ version: 7.2.0
29
29
  - - "<"
30
30
  - !ruby/object:Gem::Version
31
31
  version: 9.0.0
@@ -44,45 +44,45 @@ dependencies:
44
44
  - !ruby/object:Gem::Version
45
45
  version: 2.0.0
46
46
  - !ruby/object:Gem::Dependency
47
- name: rubocop
47
+ name: mocha
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: '1.50'
52
+ version: '2.6'
53
53
  - - "<"
54
54
  - !ruby/object:Gem::Version
55
- version: '2.0'
55
+ version: 3.0.0
56
56
  type: :development
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: '1.50'
62
+ version: '2.6'
63
63
  - - "<"
64
64
  - !ruby/object:Gem::Version
65
- version: '2.0'
65
+ version: 3.0.0
66
66
  - !ruby/object:Gem::Dependency
67
- name: mocha
67
+ name: rubocop
68
68
  requirement: !ruby/object:Gem::Requirement
69
69
  requirements:
70
70
  - - ">="
71
71
  - !ruby/object:Gem::Version
72
- version: '2.6'
72
+ version: '1.50'
73
73
  - - "<"
74
74
  - !ruby/object:Gem::Version
75
- version: 3.0.0
75
+ version: '2.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '2.6'
82
+ version: '1.50'
83
83
  - - "<"
84
84
  - !ruby/object:Gem::Version
85
- version: 3.0.0
85
+ version: '2.0'
86
86
  description: Crudable Rails provides everything needed to quickly build fully functional
87
87
  CRUD-based controllers in a Rails application. It streamlines resource management,
88
88
  reduces boilerplate, and enforces best practices for handling requests, responses,
@@ -102,14 +102,33 @@ files:
102
102
  - lib/crudable/rails/base.rb
103
103
  - lib/crudable/rails/controller.rb
104
104
  - lib/crudable/rails/engine.rb
105
+ - lib/crudable/rails/generators/scaffold_controller_extension.rb
106
+ - lib/crudable/rails/generators/scaffold_extension.rb
107
+ - lib/crudable/rails/generators/turbo_forms_generator_option.rb
108
+ - lib/crudable/rails/generators/turbo_forms_scaffold_extension.rb
109
+ - lib/crudable/rails/installer.rb
105
110
  - lib/crudable/rails/nestable.rb
106
111
  - lib/crudable/rails/resourceable.rb
107
112
  - lib/crudable/rails/version.rb
113
+ - lib/generators/crudable/controller/USAGE
114
+ - lib/generators/crudable/controller/controller_generator.rb
115
+ - lib/generators/crudable/controller_helpers.rb
116
+ - lib/generators/crudable/install/USAGE
117
+ - lib/generators/crudable/install/install_generator.rb
118
+ - lib/generators/crudable/scaffold/USAGE
119
+ - lib/generators/crudable/scaffold/scaffold_generator.rb
120
+ - lib/generators/crudable/templates/crudable_controller.rb.tt
121
+ - lib/generators/crudable/templates/turbo_forms/_form.html.erb.tt
122
+ - lib/generators/crudable/templates/turbo_forms/edit.html.erb.tt
123
+ - lib/generators/crudable/templates/turbo_forms/edit.turbo_stream.erb.tt
124
+ - lib/generators/crudable/templates/turbo_forms/new.html.erb.tt
125
+ - lib/generators/crudable/templates/turbo_forms/new.turbo_stream.erb.tt
108
126
  - lib/tasks/crudable_tasks.rake
109
127
  homepage: https://gitlab.com/initforthe/crudable-rails
110
128
  licenses:
111
129
  - MIT
112
- metadata: {}
130
+ metadata:
131
+ rubygems_mfa_required: 'true'
113
132
  rdoc_options: []
114
133
  require_paths:
115
134
  - lib
@@ -117,14 +136,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
117
136
  requirements:
118
137
  - - ">="
119
138
  - !ruby/object:Gem::Version
120
- version: 3.0.0
139
+ version: 3.2.0
121
140
  required_rubygems_version: !ruby/object:Gem::Requirement
122
141
  requirements:
123
142
  - - ">="
124
143
  - !ruby/object:Gem::Version
125
144
  version: '0'
126
145
  requirements: []
127
- rubygems_version: 3.7.1
146
+ rubygems_version: 4.0.10
128
147
  specification_version: 4
129
148
  summary: CRUD operations for Rails controllers
130
149
  test_files: []