class Warm::Boot::Commands::RailsNew
Attributes
cmd[RW]
opts[RW]
sh[RW]
Public Class Methods
new(opts)
click to toggle source
# File lib/warm/boot/commands/rails_new.rb, line 8 def initialize(opts) @opts = opts @cmd = ["rails new #{opts.app_name} --quiet"] @sh = TTY::Command.new end
Public Instance Methods
execute()
click to toggle source
# File lib/warm/boot/commands/rails_new.rb, line 21 def execute string_builder spinner = TTY::Spinner.new("[:spinner] warm-boot ...", format: :dots_4) spinner.auto_spin check_rails sh.run(cmd.join) spinner.stop("Done!") end
string_builder()
click to toggle source
# File lib/warm/boot/commands/rails_new.rb, line 14 def string_builder api database coffeescript webpacker end
Private Instance Methods
api()
click to toggle source
# File lib/warm/boot/commands/rails_new.rb, line 46 def api cmd << " --api" if opts.api_only end
check_rails()
click to toggle source
# File lib/warm/boot/commands/rails_new.rb, line 32 def check_rails return unless rails_gem_installed? == false sh.run("gem install rails") end
coffeescript()
click to toggle source
# File lib/warm/boot/commands/rails_new.rb, line 50 def coffeescript cmd << " --skip-coffee" unless opts.coffeescript end
database()
click to toggle source
# File lib/warm/boot/commands/rails_new.rb, line 42 def database cmd << " --database=#{opts.database}" end
framework()
click to toggle source
# File lib/warm/boot/commands/rails_new.rb, line 58 def framework opts.framework == "none" ? "" : "=#{opts.framework}" end
rails_gem_installed?()
click to toggle source
# File lib/warm/boot/commands/rails_new.rb, line 38 def rails_gem_installed? `gem list -i "^rails$"`.strip end
webpacker()
click to toggle source
# File lib/warm/boot/commands/rails_new.rb, line 54 def webpacker cmd << " --webpack#{framework}" if opts.webpacker end