class Aspen

Public Class Methods

directories() click to toggle source
# File lib/aspen.rb, line 32
def self.directories
  @@directories
end
directory_init() click to toggle source
# File lib/aspen.rb, line 89
def self.directory_init
  self.directories.each do |dir|
    FileUtils.mkdir_p("#{@@root_name}#{dir}", :verbose => true)
  end
end
gem_init() { || ... } click to toggle source
# File lib/aspen.rb, line 43
def self.gem_init
  current = FileUtils.pwd()
  FileUtils.cd("#{@@root_name}")
  yield 
  FileUtils.cd(current)
end
git() click to toggle source
# File lib/aspen.rb, line 50
def self.git
  gem_init { Git.init }
end
load_template() click to toggle source
# File lib/aspen.rb, line 62
def self.load_template
  if @@opts[:template] == nil
    @@opts[:template] = "default"
    require_relative "#{AspenRoot}/lib/templates/default/template.rb"
  else
    Dir.foreach("#{AspenRoot}/lib/templates") do |file|
      if file.start_with?("#{@@opts[:template].downcase.strip}")
        require_relative "#{AspenRoot}/lib/templates/#{file}/template.rb"
        break
      end
    end
  end
end
make_files() click to toggle source
# File lib/aspen.rb, line 95
def self.make_files
  FileUtils.touch("#{@@root_name}/README.md")
  AspenFile.all.each {|af| af.create("#{@@root_name}") }
end
process_flags() click to toggle source
# File lib/aspen.rb, line 54
def self.process_flags
  @@mono_flags.each do |flag|
    if @@opts[flag] == true
      self.send(flag)
    end
  end
end
project_init() click to toggle source
# File lib/aspen.rb, line 80
def self.project_init
  directory_init
  rspec_init
  make_files # if @@opts[:template] == nil || @@opts[:template] == "default"
  successful_creation
  write_to_files
  process_flags
end
rspec_init() click to toggle source
# File lib/aspen.rb, line 76
def self.rspec_init
  gem_init { RSpec::Core::ProjectInitializer.new.run }
end
run() click to toggle source
# File lib/aspen.rb, line 36
def self.run
  @@root_name = sterilize_project_name(@@args.leftovers)
  load_template
  @@directories = AspenTemplate.tree(TEMPLATE, "#{AspenRoot}/lib/templates/#{@@opts[:template]}")
  project_init
end
sterilize_project_name(name) click to toggle source
# File lib/aspen.rb, line 110
def self.sterilize_project_name(name)
  name = name.join(" ")
  if name.match(/^[a-z]/i)
    @@project_name = name
    name.strip.downcase.gsub(/[\s\_]/,"-")
  else
    puts "Invalid project name: #{name}"
  end
end
successful_creation() click to toggle source
# File lib/aspen.rb, line 106
def self.successful_creation
  puts "\nProject successfully created at:\n\t#{Dir.pwd}/#{@@root_name}\n"
end
write_to_files() click to toggle source
# File lib/aspen.rb, line 100
def self.write_to_files
  File.open("#{@@root_name}/README.md", "w+") do |f|
    f << "###{@@project_name}\n*thanks for using aspen - happy coding!*"
  end
end