layered-resource-rails 0.1.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 (42) hide show
  1. checksums.yaml +7 -0
  2. data/.claude/skills/layered-resource-rails/SKILL.md +449 -0
  3. data/AGENTS.md +36 -0
  4. data/CHANGELOG.md +45 -0
  5. data/CLA.md +10 -0
  6. data/LICENSE +201 -0
  7. data/NOTICE +7 -0
  8. data/README.md +912 -0
  9. data/Rakefile +23 -0
  10. data/TRADEMARK.md +31 -0
  11. data/app/controllers/layered/resource/controller.rb +284 -0
  12. data/app/controllers/layered/resource/internal/breadcrumbs.rb +80 -0
  13. data/app/controllers/layered/resource/internal/columns.rb +207 -0
  14. data/app/controllers/layered/resource/internal/routing.rb +60 -0
  15. data/app/controllers/layered/resource/resources_controller.rb +20 -0
  16. data/app/helpers/layered/resource/filters_helper.rb +321 -0
  17. data/app/views/layered/resource/columns/_badge.html.erb +2 -0
  18. data/app/views/layered/resource/columns/_boolean.html.erb +1 -0
  19. data/app/views/layered/resource/columns/_datetime.html.erb +1 -0
  20. data/app/views/layered/resource/columns/_text.html.erb +1 -0
  21. data/app/views/layered/resource/resources/_filter_control.html.erb +87 -0
  22. data/app/views/layered/resource/resources/_filters.html.erb +60 -0
  23. data/app/views/layered/resource/resources/edit.html.erb +16 -0
  24. data/app/views/layered/resource/resources/index.html.erb +106 -0
  25. data/app/views/layered/resource/resources/new.html.erb +16 -0
  26. data/app/views/layered/resource/resources/show.html.erb +34 -0
  27. data/config/locales/en.yml +9 -0
  28. data/lib/generators/layered/resource/column/column_generator.rb +63 -0
  29. data/lib/generators/layered/resource/controller/controller_generator.rb +54 -0
  30. data/lib/generators/layered/resource/controller/templates/controller.rb.tt +31 -0
  31. data/lib/generators/layered/resource/install_agent_skill_generator.rb +26 -0
  32. data/lib/generators/layered/resource/resource_generator.rb +63 -0
  33. data/lib/generators/layered/resource/scaffold/scaffold_generator.rb +94 -0
  34. data/lib/generators/layered/resource/templates/resource.rb.tt +19 -0
  35. data/lib/generators/layered/resource/views/views_generator.rb +49 -0
  36. data/lib/layered/resource/base.rb +625 -0
  37. data/lib/layered/resource/engine.rb +33 -0
  38. data/lib/layered/resource/routing.rb +366 -0
  39. data/lib/layered/resource/version.rb +5 -0
  40. data/lib/layered/resource.rb +61 -0
  41. data/lib/layered-resource-rails.rb +1 -0
  42. metadata +299 -0
metadata ADDED
@@ -0,0 +1,299 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: layered-resource-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - layered.ai
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: concurrent-ruby
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '1.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '1.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: layered-ui-rails
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '0.25'
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 0.25.1
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '0.25'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 0.25.1
46
+ - !ruby/object:Gem::Dependency
47
+ name: pagy
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '43.2'
53
+ type: :runtime
54
+ prerelease: false
55
+ version_requirements: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '43.2'
60
+ - !ruby/object:Gem::Dependency
61
+ name: rails
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '8.0'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '8.0'
74
+ - !ruby/object:Gem::Dependency
75
+ name: ransack
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '4.0'
81
+ type: :runtime
82
+ prerelease: false
83
+ version_requirements: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '4.0'
88
+ - !ruby/object:Gem::Dependency
89
+ name: devise
90
+ requirement: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '5.0'
95
+ type: :development
96
+ prerelease: false
97
+ version_requirements: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '5.0'
102
+ - !ruby/object:Gem::Dependency
103
+ name: importmap-rails
104
+ requirement: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: '2.0'
109
+ type: :development
110
+ prerelease: false
111
+ version_requirements: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: '2.0'
116
+ - !ruby/object:Gem::Dependency
117
+ name: propshaft
118
+ requirement: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: '1.0'
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '1.0'
130
+ - !ruby/object:Gem::Dependency
131
+ name: pundit
132
+ requirement: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - "~>"
135
+ - !ruby/object:Gem::Version
136
+ version: '2.4'
137
+ type: :development
138
+ prerelease: false
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '2.4'
144
+ - !ruby/object:Gem::Dependency
145
+ name: puma
146
+ requirement: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - "~>"
149
+ - !ruby/object:Gem::Version
150
+ version: '7.0'
151
+ type: :development
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: '7.0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: sqlite3
160
+ requirement: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - "~>"
163
+ - !ruby/object:Gem::Version
164
+ version: '2.0'
165
+ type: :development
166
+ prerelease: false
167
+ version_requirements: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: '2.0'
172
+ - !ruby/object:Gem::Dependency
173
+ name: stimulus-rails
174
+ requirement: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '1.0'
179
+ type: :development
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "~>"
184
+ - !ruby/object:Gem::Version
185
+ version: '1.0'
186
+ - !ruby/object:Gem::Dependency
187
+ name: turbo-rails
188
+ requirement: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - "~>"
191
+ - !ruby/object:Gem::Version
192
+ version: '2.0'
193
+ type: :development
194
+ prerelease: false
195
+ version_requirements: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: '2.0'
200
+ description: A convention-over-configuration CRUD engine for Rails 8+, built on the
201
+ layered-ui-rails gem. Declare a resource class, mount it in routes.rb, and get index,
202
+ new/create, edit/update, and destroy actions with clean default views, Ransack-powered
203
+ search and sorting, and Pagy pagination. Override any controller or view when you
204
+ need full control - generators are included to help you create custom controllers
205
+ and views.
206
+ email:
207
+ - support@layered.ai
208
+ executables: []
209
+ extensions: []
210
+ extra_rdoc_files: []
211
+ files:
212
+ - ".claude/skills/layered-resource-rails/SKILL.md"
213
+ - AGENTS.md
214
+ - CHANGELOG.md
215
+ - CLA.md
216
+ - LICENSE
217
+ - NOTICE
218
+ - README.md
219
+ - Rakefile
220
+ - TRADEMARK.md
221
+ - app/controllers/layered/resource/controller.rb
222
+ - app/controllers/layered/resource/internal/breadcrumbs.rb
223
+ - app/controllers/layered/resource/internal/columns.rb
224
+ - app/controllers/layered/resource/internal/routing.rb
225
+ - app/controllers/layered/resource/resources_controller.rb
226
+ - app/helpers/layered/resource/filters_helper.rb
227
+ - app/views/layered/resource/columns/_badge.html.erb
228
+ - app/views/layered/resource/columns/_boolean.html.erb
229
+ - app/views/layered/resource/columns/_datetime.html.erb
230
+ - app/views/layered/resource/columns/_text.html.erb
231
+ - app/views/layered/resource/resources/_filter_control.html.erb
232
+ - app/views/layered/resource/resources/_filters.html.erb
233
+ - app/views/layered/resource/resources/edit.html.erb
234
+ - app/views/layered/resource/resources/index.html.erb
235
+ - app/views/layered/resource/resources/new.html.erb
236
+ - app/views/layered/resource/resources/show.html.erb
237
+ - config/locales/en.yml
238
+ - lib/generators/layered/resource/column/column_generator.rb
239
+ - lib/generators/layered/resource/controller/controller_generator.rb
240
+ - lib/generators/layered/resource/controller/templates/controller.rb.tt
241
+ - lib/generators/layered/resource/install_agent_skill_generator.rb
242
+ - lib/generators/layered/resource/resource_generator.rb
243
+ - lib/generators/layered/resource/scaffold/scaffold_generator.rb
244
+ - lib/generators/layered/resource/templates/resource.rb.tt
245
+ - lib/generators/layered/resource/views/views_generator.rb
246
+ - lib/layered-resource-rails.rb
247
+ - lib/layered/resource.rb
248
+ - lib/layered/resource/base.rb
249
+ - lib/layered/resource/engine.rb
250
+ - lib/layered/resource/routing.rb
251
+ - lib/layered/resource/version.rb
252
+ homepage: https://www.layered.ai
253
+ licenses:
254
+ - Apache-2.0
255
+ metadata:
256
+ homepage_uri: https://www.layered.ai
257
+ source_code_uri: https://github.com/layered-ai-public/layered-resource-rails
258
+ bug_tracker_uri: https://github.com/layered-ai-public/layered-resource-rails/issues
259
+ changelog_uri: https://github.com/layered-ai-public/layered-resource-rails/blob/main/CHANGELOG.md
260
+ documentation_uri: https://layered-resource-rails.layered.ai/
261
+ discord_uri: https://discord.gg/aCGqz9Bx
262
+ rubygems_mfa_required: 'true'
263
+ post_install_message: |
264
+ layered-resource-rails builds on layered-ui-rails. If you have not already
265
+ set that up, run its install generator first:
266
+
267
+ bin/rails generate layered:ui:install
268
+
269
+ Then scaffold your first resource - model, migration, resource class, and
270
+ route in one shot:
271
+
272
+ bin/rails generate layered:resource:scaffold post title:string body:text
273
+
274
+ Views render from the engine until you eject them with
275
+ `bin/rails generate layered:resource:views posts`.
276
+
277
+ To let AI coding agents work with layered-resource-rails in your project,
278
+ install the included agent skill:
279
+
280
+ bin/rails generate layered:resource:install_agent_skill
281
+ rdoc_options: []
282
+ require_paths:
283
+ - lib
284
+ required_ruby_version: !ruby/object:Gem::Requirement
285
+ requirements:
286
+ - - ">="
287
+ - !ruby/object:Gem::Version
288
+ version: 3.3.0
289
+ required_rubygems_version: !ruby/object:Gem::Requirement
290
+ requirements:
291
+ - - ">="
292
+ - !ruby/object:Gem::Version
293
+ version: '0'
294
+ requirements: []
295
+ rubygems_version: 4.0.6
296
+ specification_version: 4
297
+ summary: Convention-over-configuration CRUD for Rails 8+ with Ransack and Pagy built
298
+ in.
299
+ test_files: []