class Saaskit::Generators::InstallGenerator
Public Instance Methods
add_gems_to_gemfile()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 8 def add_gems_to_gemfile gem 'meta-tags', '~> 2.11', '>= 2.11.1' gem 'gibbon', '~> 3.2' gem_group :development, :test do gem 'standard', '~> 0.0.40' end gem_group :development do gem 'eefgilm', '~> 1.2', '>= 1.2.1' end end
bundle_install()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 21 def bundle_install Bundler.with_clean_env do run "bundle install" end end
copy_credentials_sample()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 31 def copy_credentials_sample copy_file "config/credentials.yml.sample" end
create_and_migrate_db()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 146 def create_and_migrate_db rails_command "db:create" rails_command "db:migrate" end
create_application_controller()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 132 def create_application_controller copy_file "app/controllers/application_controller.rb", force: true end
create_application_helpers()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 123 def create_application_helpers copy_file "app/helpers/application_helper.rb", force: true end
display_readme_in_terminal()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 155 def display_readme_in_terminal readme "README" end
enable_require_master_key_in_production()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 35 def enable_require_master_key_in_production uncomment_lines "config/environments/production.rb", /config.require_master_key = true/ end
import_third_party_css_into_assets_pipeline()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 105 def import_third_party_css_into_assets_pipeline remove_file "app/assets/stylesheets/application.css" copy_file "app/assets/stylesheets/application.scss" end
install_images()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 110 def install_images gsub_file "app/javascript/packs/application.js", /\/\/ const images/, "const images" gsub_file "app/javascript/packs/application.js", /\/\/ const imagePath/, "const imagePath" directory "app/javascript/images" end
install_pages()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 136 def install_pages copy_file "app/forms/newsletter_form.rb" copy_file "app/adapters/mailchimp/base_adapter.rb" copy_file "app/models/concerns/coming_soon_pending_subscribable.rb" directory "app/views/pages" copy_file "app/controllers/pages_controller.rb" route "root to: 'pages#home'" route "post '/subscribe', to: 'pages#subscribe'" end
install_purgecss()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 77 def install_purgecss run "yarn add glob-all" run "yarn add path" run "yarn add purgecss-webpack-plugin" copy_file "config/webpack/plugins/purgecss-webpack-plugin.js" insert_into_file "config/webpack/production.js", after: "const environment = require('./environment')\n" do <<~CODE environment.plugins.append('PurgecssWebpackPlugin', require('./plugins/purgecss-webpack-plugin')) CODE end end
install_stimulus()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 40 def install_stimulus run "yarn add stimulus" copy_file "app/javascript/controllers/index.js" insert_into_file "app/javascript/packs/application.js", after: "require(\"channels\")\n" do <<~CODE // Tell webpacker to require stimulus require("stimulus") import 'controllers' CODE end end
install_stimulus_controllers()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 96 def install_stimulus_controllers copy_file "app/javascript/controllers/notice_controller.js" copy_file "app/javascript/controllers/typed_controller.js" copy_file "app/javascript/controllers/reveal_controller.js" copy_file "app/javascript/controllers/smooth_scroll_controller.js" copy_file "app/javascript/controllers/aos_controller.js" copy_file "app/javascript/controllers/noty_controller.js" end
install_tailwindcss()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 52 def install_tailwindcss run "yarn add tailwindcss" run "yarn add tailwindcss-transitions" run "yarn add tailwindcss-gradients" run "yarn add tailwindcss-pseudo" copy_file "app/javascript/stylesheets/application.scss" append_to_file "app/javascript/packs/application.js" do <<~CODE require("stylesheets/application.scss") CODE end insert_into_file "app/views/layouts/application.html.erb", after: "<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>\n" do <<~CODE <%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> CODE end copy_file "app/javascript/stylesheets/tailwind.config.js" insert_into_file "postcss.config.js", after: "plugins: [\n" do <<~CODE require('tailwindcss')('./app/javascript/stylesheets/tailwind.config.js'), require('autoprefixer'), CODE end end
install_third_party_packages()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 89 def install_third_party_packages run "yarn add typed.js" run "yarn add smooth-scroll" run "yarn add aos@next" run "yarn add noty" end
organizing_gemfile()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 27 def organizing_gemfile run "eefgilm" end
tidy_up_codebase()
click to toggle source
# File lib/generators/saaskit/install/install_generator.rb, line 151 def tidy_up_codebase run "bundle exec standardrb --fix" end