class Quails::AppBuilder
The application builder allows you to override elements of the application generator without being forced to reverse the operations of the default generator.
This allows you to override entire operations, like the creation of the Gemfile, README, or JavaScript files, without needing to know exactly what those operations do so you can create another template action.
class CustomAppBuilder < Quails::AppBuilder def test @generator.gem "rspec-quails", group: [:development, :test] run "bundle install" generate "rspec:install" end end
Public Instance Methods
app()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 80 def app directory "app" keep_file "app/assets/images" empty_directory_with_keep_file "app/assets/javascripts/channels" unless options[:skip_action_cable] keep_file "app/controllers/concerns" keep_file "app/models/concerns" end
bin()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 90 def bin directory "bin" do |content| "#{shebang}\n" + content end chmod "bin", 0755 & ~File.umask, verbose: false end
bin_when_updating()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 97 def bin_when_updating bin_yarn_exist = File.exist?("bin/yarn") bin if options[:api] && !bin_yarn_exist remove_file "bin/yarn" end end
config()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 107 def config empty_directory "config" inside "config" do template "routes.rb" template "application.rb" template "environment.rb" template "secrets.yml" template "cable.yml" unless options[:skip_action_cable] template "puma.rb" unless options[:skip_puma] template "spring.rb" if spring_install? template "storage.yml" directory "environments" directory "initializers" directory "locales" end end
config_when_updating()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 126 def config_when_updating cookie_serializer_config_exist = File.exist?("config/initializers/cookies_serializer.rb") action_cable_config_exist = File.exist?("config/cable.yml") active_storage_config_exist = File.exist?("config/storage.yml") rack_cors_config_exist = File.exist?("config/initializers/cors.rb") assets_config_exist = File.exist?("config/initializers/assets.rb") config unless cookie_serializer_config_exist gsub_file "config/initializers/cookies_serializer.rb", /json(?!,)/, "marshal" end if !options[:skip_action_cable] && !action_cable_config_exist template "config/cable.yml" end if !active_storage_config_exist template "config/storage.yml" end unless rack_cors_config_exist remove_file "config/initializers/cors.rb" end if options[:api] unless cookie_serializer_config_exist remove_file "config/initializers/cookies_serializer.rb" end unless assets_config_exist remove_file "config/initializers/assets.rb" end end end
configru()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 62 def configru template "config.ru" end
database_yml()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 162 def database_yml template "config/databases/#{options[:database]}.yml", "config/database.yml" end
db()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 166 def db directory "db" end
gemfile()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 58 def gemfile template "Gemfile" end
gitignore()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 66 def gitignore template "gitignore", ".gitignore" end
lib()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 170 def lib empty_directory "lib" empty_directory_with_keep_file "lib/tasks" empty_directory_with_keep_file "lib/assets" end
log()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 176 def log empty_directory_with_keep_file "log" end
package_json()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 76 def package_json template "package.json" end
public_directory()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 180 def public_directory directory "public", "public", recursive: false end
rakefile()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 46 def rakefile template "Rakefile" end
readme()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 50 def readme copy_file "README.md", "README.md" end
ruby_version()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 54 def ruby_version template "ruby-version", ".ruby-version" end
storage()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 184 def storage empty_directory_with_keep_file "storage" empty_directory_with_keep_file "tmp/storage" end
system_test()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 201 def system_test empty_directory_with_keep_file "test/system" template "test/application_system_test_case.rb" end
test()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 189 def test empty_directory_with_keep_file "test/fixtures" empty_directory_with_keep_file "test/fixtures/files" empty_directory_with_keep_file "test/controllers" empty_directory_with_keep_file "test/mailers" empty_directory_with_keep_file "test/models" empty_directory_with_keep_file "test/helpers" empty_directory_with_keep_file "test/integration" template "test/test_helper.rb" end
tmp()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 207 def tmp empty_directory_with_keep_file "tmp" empty_directory "tmp/cache" empty_directory "tmp/cache/assets" end
vendor()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 213 def vendor empty_directory_with_keep_file "vendor" end
version_control()
click to toggle source
# File railties/lib/rails/generators/rails/app/app_generator.rb, line 70 def version_control if !options[:skip_git] && !options[:pretend] run "git init" end end