module Goby::Scaffold

Functions for scaffolding starter projects.

Public Class Methods

simple(project) click to toggle source

Simple starter project w/o testing.

@param [String] project the project name.

# File lib/goby/scaffold.rb, line 9
def self.simple(project)

  # TODO: detect existence of project folder.

  # Make the directory structure.
  Dir.mkdir project
  dirs = [ '', 'battle', 'entity',
           'event', 'item', 'map' ]
  dirs.each do |dir|
    Dir.mkdir "#{project}/src/#{dir}"
  end

  # Create the source files.
  gem_location = %x[gem which goby].chomp "/lib/goby.rb\n"
  files = { '.gitignore': '../gitignore',
            'src/main.rb': 'main.rb',
            'src/map/farm.rb': 'farm.rb' }
  files.each do |dest, source|
    File.open("#{project}/#{dest.to_s}", 'w') do |w|
      w.write(File.read "#{gem_location}/res/scaffold/simple/#{source}")
    end
  end

end