class RubyDir::Instruct
Attributes
name[R]
Public Class Methods
new(name)
click to toggle source
# File lib/ruby_dir.rb, line 8 def initialize(name) @name = name end
Public Instance Methods
create_directory()
click to toggle source
# File lib/ruby_dir.rb, line 12 def create_directory `mkdir #{name}` puts "created #{name}/" `cd #{name} && mkdir app` puts "created #{name}/app" `cd #{name}/app && mkdir models` puts "created #{name}/app/models" `touch #{name}/app/run.rb` `echo "class App\n\n def self.run\n # Your code here...\n end\n\nend" >> #{name}/app/run.rb` puts "created #{name}/app/run.rb" `cd #{name} && bundle init` puts "created #{name}/Gemfile" `cd #{name} && echo '\ngem "rspec"\ngem "require_all"\ngem "pry"' >> Gemfile` puts "added pry and rspec to Gemfile" `cd #{name} && mkdir config && touch config/environment.rb` `cd #{name} && echo "require 'bundler/setup'\nBundler.require\nrequire_rel '../app'" >> config/environment.rb` puts "created #{name}/config/environment.rb" `cd #{name} && rspec --init` `cd #{name} && echo 'require_relative "../config/environment.rb"' | cat - spec/spec_helper.rb > temp && mv temp spec/spec_helper.rb` puts "created #{name}/spec/spec_helper.rb" `cd #{name} && touch spec/#{name}_spec.rb` `echo "describe 'App' do\n it 'executes successfully without errors' do\n expect{App.run}.to_not raise_error\n end\nend" >> #{name}/spec/#{name}_spec.rb` puts "created #{name}/spec/#{name}_spec.rb" `cd #{name} && mkdir tools && touch tools/console.rb` `echo "require_relative '../config/environment.rb'\n\ndef reload\n load 'config/environment.rb'\nend\n\n# Insert code here to run before hitting the binding.pry\n# This is a convenient place to define variables and/or set up new object instances,\n# so they will be available to test and play around with in your console\n\nbinding.pry\nputs 'goodbye'" >> #{name}/tools/console.rb` puts "created #{name}/tools/console.rb" `cd #{name} && bundle` end