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