rails_app_generator 0.1.28 → 0.2.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.
- checksums.yaml +4 -4
- data/.rubocop.yml +2 -1
- data/CHANGELOG.md +8 -0
- data/after_templates/addons/acts_as_list/_.rb +0 -14
- data/after_templates/addons/mini_magick/_.rb +1 -1
- data/docs/last_run/app_generator_class.json +406 -0
- data/docs/last_run/app_generator_data.json +44 -0
- data/docs/last_run/rails_options_class.json +406 -0
- data/docs/last_run/rails_options_data.json +53 -0
- data/exe/rag +2 -0
- data/lib/rails_app_generator/addons/twilio_ruby.rb +13 -0
- data/lib/rails_app_generator/app_generator.rb +37 -157
- data/lib/rails_app_generator/cli/profile.rb +3 -1
- data/lib/rails_app_generator/configuration/rag_configuration.rb +18 -0
- data/lib/rails_app_generator/configuration/rag_configuration_extension.rb +14 -0
- data/lib/rails_app_generator/options/build_option.rb +14 -9
- data/lib/rails_app_generator/options/options_builder.rb +57 -9
- data/lib/rails_app_generator/options/rails_options.rb +6 -68
- data/lib/rails_app_generator/rag_initializer.rb +250 -0
- data/lib/rails_app_generator/util.rb +26 -0
- data/lib/rails_app_generator/version.rb +1 -1
- data/lib/rails_app_generator.rb +4 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- data/profiles/addons/mini_magick.json +2 -1
- data/templates/thor_task/addon/addon.tt +2 -6
- metadata +24 -2
@@ -0,0 +1,406 @@
|
|
1
|
+
{
|
2
|
+
"class_option_keys": [
|
3
|
+
"skip_namespace",
|
4
|
+
"skip_collision_check",
|
5
|
+
"force",
|
6
|
+
"pretend",
|
7
|
+
"quiet",
|
8
|
+
"skip",
|
9
|
+
"ruby",
|
10
|
+
"template",
|
11
|
+
"database",
|
12
|
+
"skip_git",
|
13
|
+
"skip_keeps",
|
14
|
+
"skip_action_mailer",
|
15
|
+
"skip_action_mailbox",
|
16
|
+
"skip_action_text",
|
17
|
+
"skip_active_record",
|
18
|
+
"skip_active_job",
|
19
|
+
"skip_active_storage",
|
20
|
+
"skip_action_cable",
|
21
|
+
"skip_asset_pipeline",
|
22
|
+
"asset_pipeline",
|
23
|
+
"skip_javascript",
|
24
|
+
"skip_hotwire",
|
25
|
+
"skip_jbuilder",
|
26
|
+
"skip_test",
|
27
|
+
"skip_system_test",
|
28
|
+
"skip_bootsnap",
|
29
|
+
"dev",
|
30
|
+
"edge",
|
31
|
+
"main",
|
32
|
+
"rc",
|
33
|
+
"no_rc",
|
34
|
+
"help",
|
35
|
+
"version",
|
36
|
+
"api",
|
37
|
+
"minimal",
|
38
|
+
"javascript",
|
39
|
+
"css",
|
40
|
+
"skip_bundle",
|
41
|
+
"test",
|
42
|
+
"add_acts_as_list",
|
43
|
+
"add_browser",
|
44
|
+
"add_chartkick",
|
45
|
+
"add_faker",
|
46
|
+
"add_groupdate",
|
47
|
+
"add_hexapdf",
|
48
|
+
"add_httparty",
|
49
|
+
"add_honeybadger",
|
50
|
+
"add_mini_magick",
|
51
|
+
"add_rails_html_sanitizer",
|
52
|
+
"add_twilio_ruby"
|
53
|
+
],
|
54
|
+
"class_options": [
|
55
|
+
{
|
56
|
+
"name": "skip_namespace",
|
57
|
+
"description": "Skip namespace (affects only isolated engines)",
|
58
|
+
"type": "boolean",
|
59
|
+
"default": false,
|
60
|
+
"required": false
|
61
|
+
},
|
62
|
+
{
|
63
|
+
"name": "skip_collision_check",
|
64
|
+
"description": "Skip collision check",
|
65
|
+
"type": "boolean",
|
66
|
+
"default": false,
|
67
|
+
"required": false
|
68
|
+
},
|
69
|
+
{
|
70
|
+
"name": "force",
|
71
|
+
"description": "Overwrite files that already exist",
|
72
|
+
"type": "boolean",
|
73
|
+
"default": false,
|
74
|
+
"required": false
|
75
|
+
},
|
76
|
+
{
|
77
|
+
"name": "pretend",
|
78
|
+
"description": "Run but do not make any changes",
|
79
|
+
"type": "boolean",
|
80
|
+
"default": false,
|
81
|
+
"required": false
|
82
|
+
},
|
83
|
+
{
|
84
|
+
"name": "quiet",
|
85
|
+
"description": "Suppress status output",
|
86
|
+
"type": "boolean",
|
87
|
+
"default": false,
|
88
|
+
"required": false
|
89
|
+
},
|
90
|
+
{
|
91
|
+
"name": "skip",
|
92
|
+
"description": "Skip files that already exist",
|
93
|
+
"type": "boolean",
|
94
|
+
"default": false,
|
95
|
+
"required": false
|
96
|
+
},
|
97
|
+
{
|
98
|
+
"name": "ruby",
|
99
|
+
"description": "Path to the Ruby binary of your choice",
|
100
|
+
"type": "string",
|
101
|
+
"default": "/Users/davidcruwys/.asdf/installs/ruby/2.7.6/bin/ruby",
|
102
|
+
"required": false
|
103
|
+
},
|
104
|
+
{
|
105
|
+
"name": "template",
|
106
|
+
"description": "Path to some application template (can be a filesystem path or URL)",
|
107
|
+
"type": "string",
|
108
|
+
"default": "",
|
109
|
+
"required": false
|
110
|
+
},
|
111
|
+
{
|
112
|
+
"name": "database",
|
113
|
+
"description": "Preconfigure for selected database (options: mysql/postgresql/sqlite3/oracle/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)",
|
114
|
+
"type": "string",
|
115
|
+
"default": "sqlite3",
|
116
|
+
"required": false
|
117
|
+
},
|
118
|
+
{
|
119
|
+
"name": "skip_git",
|
120
|
+
"description": "Skip .gitignore file",
|
121
|
+
"type": "boolean",
|
122
|
+
"default": false,
|
123
|
+
"required": false
|
124
|
+
},
|
125
|
+
{
|
126
|
+
"name": "skip_keeps",
|
127
|
+
"description": "Skip source control .keep files",
|
128
|
+
"type": "boolean",
|
129
|
+
"default": false,
|
130
|
+
"required": false
|
131
|
+
},
|
132
|
+
{
|
133
|
+
"name": "skip_action_mailer",
|
134
|
+
"description": "Skip Action Mailer files",
|
135
|
+
"type": "boolean",
|
136
|
+
"default": false,
|
137
|
+
"required": false
|
138
|
+
},
|
139
|
+
{
|
140
|
+
"name": "skip_action_mailbox",
|
141
|
+
"description": "Skip Action Mailbox gem",
|
142
|
+
"type": "boolean",
|
143
|
+
"default": false,
|
144
|
+
"required": false
|
145
|
+
},
|
146
|
+
{
|
147
|
+
"name": "skip_action_text",
|
148
|
+
"description": "Skip Action Text gem",
|
149
|
+
"type": "boolean",
|
150
|
+
"default": false,
|
151
|
+
"required": false
|
152
|
+
},
|
153
|
+
{
|
154
|
+
"name": "skip_active_record",
|
155
|
+
"description": "Skip Active Record files",
|
156
|
+
"type": "boolean",
|
157
|
+
"default": false,
|
158
|
+
"required": false
|
159
|
+
},
|
160
|
+
{
|
161
|
+
"name": "skip_active_job",
|
162
|
+
"description": "Skip Active Job",
|
163
|
+
"type": "boolean",
|
164
|
+
"default": false,
|
165
|
+
"required": false
|
166
|
+
},
|
167
|
+
{
|
168
|
+
"name": "skip_active_storage",
|
169
|
+
"description": "Skip Active Storage files",
|
170
|
+
"type": "boolean",
|
171
|
+
"default": false,
|
172
|
+
"required": false
|
173
|
+
},
|
174
|
+
{
|
175
|
+
"name": "skip_action_cable",
|
176
|
+
"description": "Skip Action Cable files",
|
177
|
+
"type": "boolean",
|
178
|
+
"default": false,
|
179
|
+
"required": false
|
180
|
+
},
|
181
|
+
{
|
182
|
+
"name": "skip_asset_pipeline",
|
183
|
+
"description": "Indicates when to generate skip asset pipeline",
|
184
|
+
"type": "boolean",
|
185
|
+
"default": false,
|
186
|
+
"required": false
|
187
|
+
},
|
188
|
+
{
|
189
|
+
"name": "asset_pipeline",
|
190
|
+
"description": "Choose your asset pipeline [options: sprockets (default), propshaft]",
|
191
|
+
"type": "string",
|
192
|
+
"default": "sprockets",
|
193
|
+
"required": false
|
194
|
+
},
|
195
|
+
{
|
196
|
+
"name": "skip_javascript",
|
197
|
+
"description": "Skip JavaScript files",
|
198
|
+
"type": "boolean",
|
199
|
+
"default": false,
|
200
|
+
"required": false
|
201
|
+
},
|
202
|
+
{
|
203
|
+
"name": "skip_hotwire",
|
204
|
+
"description": "Skip Hotwire integration",
|
205
|
+
"type": "boolean",
|
206
|
+
"default": false,
|
207
|
+
"required": false
|
208
|
+
},
|
209
|
+
{
|
210
|
+
"name": "skip_jbuilder",
|
211
|
+
"description": "Skip jbuilder gem",
|
212
|
+
"type": "boolean",
|
213
|
+
"default": false,
|
214
|
+
"required": false
|
215
|
+
},
|
216
|
+
{
|
217
|
+
"name": "skip_test",
|
218
|
+
"description": "Skip test files",
|
219
|
+
"type": "boolean",
|
220
|
+
"default": false,
|
221
|
+
"required": false
|
222
|
+
},
|
223
|
+
{
|
224
|
+
"name": "skip_system_test",
|
225
|
+
"description": "Skip system test files",
|
226
|
+
"type": "boolean",
|
227
|
+
"default": false,
|
228
|
+
"required": false
|
229
|
+
},
|
230
|
+
{
|
231
|
+
"name": "skip_bootsnap",
|
232
|
+
"description": "Skip bootsnap gem",
|
233
|
+
"type": "boolean",
|
234
|
+
"default": false,
|
235
|
+
"required": false
|
236
|
+
},
|
237
|
+
{
|
238
|
+
"name": "dev",
|
239
|
+
"description": "Set up the application with Gemfile pointing to your Rails checkout",
|
240
|
+
"type": "boolean",
|
241
|
+
"default": false,
|
242
|
+
"required": false
|
243
|
+
},
|
244
|
+
{
|
245
|
+
"name": "edge",
|
246
|
+
"description": "Set up the application with Gemfile pointing to Rails repository",
|
247
|
+
"type": "boolean",
|
248
|
+
"default": false,
|
249
|
+
"required": false
|
250
|
+
},
|
251
|
+
{
|
252
|
+
"name": "main",
|
253
|
+
"description": "Set up the application with Gemfile pointing to Rails repository main branch",
|
254
|
+
"type": "boolean",
|
255
|
+
"default": false,
|
256
|
+
"required": false
|
257
|
+
},
|
258
|
+
{
|
259
|
+
"name": "rc",
|
260
|
+
"description": "Path to file containing extra configuration options for rails command",
|
261
|
+
"type": "string",
|
262
|
+
"default": "",
|
263
|
+
"required": false
|
264
|
+
},
|
265
|
+
{
|
266
|
+
"name": "no_rc",
|
267
|
+
"description": "Skip loading of extra configuration options from .railsrc file",
|
268
|
+
"type": "boolean",
|
269
|
+
"default": false,
|
270
|
+
"required": false
|
271
|
+
},
|
272
|
+
{
|
273
|
+
"name": "help",
|
274
|
+
"description": "Show this help message and quit",
|
275
|
+
"type": "boolean",
|
276
|
+
"default": false,
|
277
|
+
"required": false
|
278
|
+
},
|
279
|
+
{
|
280
|
+
"name": "version",
|
281
|
+
"description": "Show Rails version number and quit",
|
282
|
+
"type": "boolean",
|
283
|
+
"default": false,
|
284
|
+
"required": false
|
285
|
+
},
|
286
|
+
{
|
287
|
+
"name": "api",
|
288
|
+
"description": "Preconfigure smaller stack for API only apps",
|
289
|
+
"type": "boolean",
|
290
|
+
"default": false,
|
291
|
+
"required": false
|
292
|
+
},
|
293
|
+
{
|
294
|
+
"name": "minimal",
|
295
|
+
"description": "Preconfigure a minimal rails app",
|
296
|
+
"type": "boolean",
|
297
|
+
"default": false,
|
298
|
+
"required": false
|
299
|
+
},
|
300
|
+
{
|
301
|
+
"name": "javascript",
|
302
|
+
"description": "Choose JavaScript approach [options: importmap (default), webpack, esbuild, rollup]",
|
303
|
+
"type": "string",
|
304
|
+
"default": "importmap",
|
305
|
+
"required": false
|
306
|
+
},
|
307
|
+
{
|
308
|
+
"name": "css",
|
309
|
+
"description": "Choose CSS processor [options: tailwind, bootstrap, bulma, postcss, sass... check https://github.com/rails/cssbundling-rails]",
|
310
|
+
"type": "string",
|
311
|
+
"default": "",
|
312
|
+
"required": false
|
313
|
+
},
|
314
|
+
{
|
315
|
+
"name": "skip_bundle",
|
316
|
+
"description": "Don't run bundle install",
|
317
|
+
"type": "boolean",
|
318
|
+
"default": false,
|
319
|
+
"required": false
|
320
|
+
},
|
321
|
+
{
|
322
|
+
"name": "test",
|
323
|
+
"description": "",
|
324
|
+
"type": "string",
|
325
|
+
"default": "rspec",
|
326
|
+
"required": false
|
327
|
+
},
|
328
|
+
{
|
329
|
+
"name": "add_acts_as_list",
|
330
|
+
"description": "",
|
331
|
+
"type": "boolean",
|
332
|
+
"default": false,
|
333
|
+
"required": false
|
334
|
+
},
|
335
|
+
{
|
336
|
+
"name": "add_browser",
|
337
|
+
"description": "",
|
338
|
+
"type": "boolean",
|
339
|
+
"default": false,
|
340
|
+
"required": false
|
341
|
+
},
|
342
|
+
{
|
343
|
+
"name": "add_chartkick",
|
344
|
+
"description": "",
|
345
|
+
"type": "boolean",
|
346
|
+
"default": false,
|
347
|
+
"required": false
|
348
|
+
},
|
349
|
+
{
|
350
|
+
"name": "add_faker",
|
351
|
+
"description": "",
|
352
|
+
"type": "boolean",
|
353
|
+
"default": false,
|
354
|
+
"required": false
|
355
|
+
},
|
356
|
+
{
|
357
|
+
"name": "add_groupdate",
|
358
|
+
"description": "",
|
359
|
+
"type": "boolean",
|
360
|
+
"default": false,
|
361
|
+
"required": false
|
362
|
+
},
|
363
|
+
{
|
364
|
+
"name": "add_hexapdf",
|
365
|
+
"description": "",
|
366
|
+
"type": "boolean",
|
367
|
+
"default": false,
|
368
|
+
"required": false
|
369
|
+
},
|
370
|
+
{
|
371
|
+
"name": "add_httparty",
|
372
|
+
"description": "",
|
373
|
+
"type": "boolean",
|
374
|
+
"default": false,
|
375
|
+
"required": false
|
376
|
+
},
|
377
|
+
{
|
378
|
+
"name": "add_honeybadger",
|
379
|
+
"description": "",
|
380
|
+
"type": "boolean",
|
381
|
+
"default": false,
|
382
|
+
"required": false
|
383
|
+
},
|
384
|
+
{
|
385
|
+
"name": "add_mini_magick",
|
386
|
+
"description": "Add Mini Magick gem",
|
387
|
+
"type": "boolean",
|
388
|
+
"default": false,
|
389
|
+
"required": false
|
390
|
+
},
|
391
|
+
{
|
392
|
+
"name": "add_rails_html_sanitizer",
|
393
|
+
"description": "",
|
394
|
+
"type": "boolean",
|
395
|
+
"default": false,
|
396
|
+
"required": false
|
397
|
+
},
|
398
|
+
{
|
399
|
+
"name": "add_twilio_ruby",
|
400
|
+
"description": "",
|
401
|
+
"type": "boolean",
|
402
|
+
"default": false,
|
403
|
+
"required": false
|
404
|
+
}
|
405
|
+
]
|
406
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
{
|
2
|
+
"options": {
|
3
|
+
"skip_namespace": false,
|
4
|
+
"skip_collision_check": false,
|
5
|
+
"force": false,
|
6
|
+
"pretend": false,
|
7
|
+
"quiet": false,
|
8
|
+
"skip": false,
|
9
|
+
"ruby": "/Users/davidcruwys/.asdf/installs/ruby/2.7.6/bin/ruby",
|
10
|
+
"template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/twilio_ruby/_.rb",
|
11
|
+
"database": "sqlite3",
|
12
|
+
"skip_git": true,
|
13
|
+
"skip_keeps": false,
|
14
|
+
"skip_action_mailer": false,
|
15
|
+
"skip_action_mailbox": false,
|
16
|
+
"skip_action_text": false,
|
17
|
+
"skip_active_record": false,
|
18
|
+
"skip_active_job": false,
|
19
|
+
"skip_active_storage": false,
|
20
|
+
"skip_action_cable": false,
|
21
|
+
"skip_asset_pipeline": false,
|
22
|
+
"asset_pipeline": "sprockets",
|
23
|
+
"skip_javascript": false,
|
24
|
+
"skip_hotwire": false,
|
25
|
+
"skip_jbuilder": false,
|
26
|
+
"skip_test": true,
|
27
|
+
"skip_system_test": false,
|
28
|
+
"skip_bootsnap": false,
|
29
|
+
"dev": false,
|
30
|
+
"edge": false,
|
31
|
+
"main": false,
|
32
|
+
"rc": "",
|
33
|
+
"no_rc": false,
|
34
|
+
"help": false,
|
35
|
+
"version": false,
|
36
|
+
"api": false,
|
37
|
+
"minimal": false,
|
38
|
+
"javascript": "importmap",
|
39
|
+
"css": "",
|
40
|
+
"skip_bundle": false,
|
41
|
+
"add_acts_as_list": false,
|
42
|
+
"add_browser": false,
|
43
|
+
"add_chartkick": false,
|
44
|
+
"add_faker": false,
|
45
|
+
"add_groupdate": false,
|
46
|
+
"add_hexapdf": false,
|
47
|
+
"add_httparty": false,
|
48
|
+
"add_honeybadger": false,
|
49
|
+
"add_mini_magick": false,
|
50
|
+
"add_rails_html_sanitizer": false,
|
51
|
+
"add_twilio_ruby": true
|
52
|
+
}
|
53
|
+
}
|
data/exe/rag
CHANGED
@@ -22,6 +22,8 @@ elsif first == 'diff'
|
|
22
22
|
elsif first == 'new'
|
23
23
|
RailsAppGenerator::AppGenerator.start(ARGV[1..], destination_root: '/Users/davidcruwys/dev/kgems/rails_app_generator/a/rag')
|
24
24
|
else
|
25
|
+
require 'rails_app_generator/rag_initializer'
|
26
|
+
|
25
27
|
fallback_profile_path = File.expand_path("#{Pathname.new(__FILE__).dirname}/../profiles")
|
26
28
|
args = ['profile'] + ARGV + ["--fallback-profile-path=#{fallback_profile_path}"]
|
27
29
|
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsAppGenerator
|
4
|
+
# Custom add-ons for RailsAppGenerator
|
5
|
+
module AddOns
|
6
|
+
# Add TwilioRuby to rails application
|
7
|
+
class TwilioRuby < RailsAppGenerator::Addon
|
8
|
+
required_gem gem.version('twilio-ruby', '5.70.0', 'The official library for communicating with the Twilio REST API, building TwiML, and generating Twilio JWT Capability Tokens')
|
9
|
+
|
10
|
+
def apply; end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|