class CubaGenie::CubaSetup

Public Class Methods

new(**args) click to toggle source
Calls superclass method CubaGenie::Command::new
# File lib/cuba_genie/cuba_setup.rb, line 10
def initialize(**args)
  @project_name = args[:project_name]
  @minitest = args[:minitest]
  @capybara = args[:capybara]
  @description = "Creating Cuba setup"
  @rollback_msg = "rolling back Cuba basic setup"
  super

end

Public Instance Methods

execute() click to toggle source
Calls superclass method CubaGenie::Command#execute
# File lib/cuba_genie/cuba_setup.rb, line 20
def execute
  super do
    FileUtils.mkdir @project_name
    @dirs_created << @project_name
    FileUtils.chdir @project_name
    create_app_file
    create_rack_file
    create_gem_file
    git_initialize
    create_ruby_version_file
    create_ruby_gemset_file
  end
end

Private Instance Methods

create_app_file() click to toggle source
# File lib/cuba_genie/cuba_setup.rb, line 37
def create_app_file
  file_name = "#{@project_name}.rb"
  File.open(file_name, 'w') {|f| f.write(APP_FILE_CONTENT) }
  @files_created << "#{Dir.pwd}/#{file_name}"
end
create_gem_file() click to toggle source
# File lib/cuba_genie/cuba_setup.rb, line 49
def create_gem_file
  File.open('Gemfile', 'w') do |f|
    if @minitest && !@capybara
      f.write GEM_FILE_CONTENT % "gem 'rack-test'"
    elsif @minitest && @capybara
      f.write GEM_FILE_CONTENT % GEM_FILE_CAPYBARA_CONTENT
    elsif !@minitest
      f.write GEM_FILE_CONTENT
    end
  end
  @files_created << "#{Dir.pwd}/Gemfile"
end
create_rack_file() click to toggle source
# File lib/cuba_genie/cuba_setup.rb, line 43
def create_rack_file
  File.open('config.ru', 'w') {|f| f.write(RACK_FILE_CONTENT % @project_name) }

  @files_created << "#{Dir.pwd}/config.ru"
end
create_ruby_gemset_file() click to toggle source
# File lib/cuba_genie/cuba_setup.rb, line 67
def create_ruby_gemset_file
  File.open('.ruby-gemset', 'w') {|f| f.write(project_name) }
  @files_created << "#{Dir.pwd}/.ruby-gemset"
end
create_ruby_version_file() click to toggle source
# File lib/cuba_genie/cuba_setup.rb, line 62
def create_ruby_version_file
  File.open('.ruby-version', 'w') {|f| f.write(get_ruby_version) }
  @files_created << "#{Dir.pwd}/.ruby-version"
end
get_ruby_version() click to toggle source
# File lib/cuba_genie/cuba_setup.rb, line 72
def get_ruby_version
  %x(ruby -v).slice(/(\d\.){2}\d/)
end
git_initialize() click to toggle source
# File lib/cuba_genie/cuba_setup.rb, line 76
def git_initialize
  %x(git init)
end