class RailsInit::CLI
Public Instance Methods
create()
click to toggle source
# File lib/rails_init/cli.rb, line 15 def create working_dir gemfile_init exec_cmd bundle_cmd exec_cmd rails_cmd end
version()
click to toggle source
# File lib/rails_init/cli.rb, line 24 def version puts RailsInit::VERSION end
Private Instance Methods
bundle_cmd()
click to toggle source
# File lib/rails_init/cli.rb, line 52 def bundle_cmd opts = [] opts << "--path=#{options[:path]}" opts << "--jobs=#{options[:jobs]}" "bundle install #{opts.join("\s")} #{options[:bundle_opts].join("\s")}" end
exec_cmd(command)
click to toggle source
# File lib/rails_init/cli.rb, line 65 def exec_cmd(command) pid = spawn(command) Process::wait(pid) end
gemfile_init()
click to toggle source
# File lib/rails_init/cli.rb, line 41 def gemfile_init latest = /rails\s\(([0-9.]+)\)/.match(`gem search --remote "^rails$"`)[1] print "Rails version (latest #{latest}): " version = STDIN.gets File.open 'Gemfile', 'w' do |f| f.puts "source 'https://rubygems.org'" f.print "gem 'rails'" f.print ", '#{version}'" unless version.strip!.empty? end end
rails_cmd()
click to toggle source
# File lib/rails_init/cli.rb, line 59 def rails_cmd opts = [] opts << '--force' if options[:force] "bundle exec rails new . #{opts.join("\s")} #{options[:rails_opts].join("\s")}" end
working_dir()
click to toggle source
# File lib/rails_init/cli.rb, line 31 def working_dir print "Project directory (#{Dir.pwd}): " project_dir = STDIN.gets unless project_dir.strip!.empty? project_dir = Pathname.new(project_dir).expand_path Dir.mkdir project_dir unless Dir.exist? project_dir Dir.chdir project_dir end end