class App
Public Instance Methods
help()
click to toggle source
# File lib/juans_world/commands/app.rb, line 26 def help puts "#{self.class.description}\n\n#{parser.to_s}" end
run()
click to toggle source
# File lib/juans_world/commands/app.rb, line 12 def run @app_name = args[0] run_command rails_new Dir.chdir("./#{@app_name}") run_command procfile run_command bin_up run_command bundle_add run_command bundle_add_dev_test run_command db_up run_command rspec run_command devise run_command tailwindcss end
Private Instance Methods
bin_up()
click to toggle source
# File lib/juans_world/commands/app.rb, line 63 def bin_up "echo -e '#!/bin/bash\n\nforeman start -f Procfile.dev' > bin/up && chmod +x bin/up" end
bundle_add()
click to toggle source
# File lib/juans_world/commands/app.rb, line 67 def bundle_add 'bundle add redis devise name_of_person rack-mini-profiler flamegraph stackprof memory_profiler active_model_serializers pundit bullet rack-attack' end
bundle_add_dev_test()
click to toggle source
# File lib/juans_world/commands/app.rb, line 71 def bundle_add_dev_test "bundle add foreman rspec-rails pry rubocop rubocop-rails factory_bot_rails " \ "capybara chromedriver-helper selenium-webdriver shoulda-matchers " \ "dotenv-rails simplecov --group 'development, test'" end
db_up()
click to toggle source
# File lib/juans_world/commands/app.rb, line 77 def db_up 'rails db:create && rails db:migrate' end
devise()
click to toggle source
# File lib/juans_world/commands/app.rb, line 85 def devise 'rails generate devise:install && rails generate devise User && rails g devise:views' end
procfile()
click to toggle source
# File lib/juans_world/commands/app.rb, line 59 def procfile "echo -e 'web: bundle exec rails s\nwebpacker: ./bin/webpack-dev-server' > Procfile.dev" end
rails_new()
click to toggle source
# File lib/juans_world/commands/app.rb, line 49 def rails_new "rails new #{@app_name} " \ "-d #{options[:database] } " \ "#{'--skip-sprockets' if options[:'skip-sprockets']} " \ "#{'--skip-coffee' if options[:'skip-coffee']} " \ "#{'--skip-test' if options[:'skip-test']} " \ "#{'--skip-turbolinks' if options[:'skip-turbolinks']} " \ "--webpack=#{options[:webpack]}" end
rspec()
click to toggle source
# File lib/juans_world/commands/app.rb, line 81 def rspec 'rails generate rspec:install' end
run_command(cmd)
click to toggle source
# File lib/juans_world/commands/app.rb, line 32 def run_command(cmd) puts 'RUN: ' puts "#{cmd}\n\n" Open3.popen3(cmd) do |stdout, stderr, status, thread| while err=stderr.gets do puts(err) end while out=stdout.gets do puts(out) end rescue IOError => e end end
tailwindcss()
click to toggle source
# File lib/juans_world/commands/app.rb, line 89 def tailwindcss "yarn add tailwindcss --dev " \ "&& mkdir app/javascript/css " \ "&& node_modules/.bin/tailwind init " \ "&& sed -i '/ plugins: \[/a\ \ \ \ require('\"'\"'tailwindcss'\"'\"'),' postcss.config.js" end