Class: Wooget::Project

Inherits:
Thor
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/wooget/project.rb

Overview

Essential project files for packaging

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



8
9
10
# File 'lib/wooget/project.rb', line 8

def options
  @options
end

Class Method Details

.source_rootObject



12
13
14
# File 'lib/wooget/project.rb', line 12

def self.source_root
  File.join(File.dirname(__FILE__), "template", "files")
end

Instance Method Details

#create(package_name, options = {}) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/wooget/project.rb', line 17

def create package_name, options={}
  @options = {}.merge(options)
  @options[:author] ||= Util.author
  @options[:repo] ||= "wdk-unity-universe"
  @options[:source_folder] = package_name

  empty_directory package_name
  create_file File.join(package_name, "paket.lock")
  template("gitignore.erb", File.join(package_name, ".gitignore"))
  template("paket.template.erb", File.join(package_name, "paket.template"))
  template("paket.dependencies.erb", File.join(package_name, "paket.dependencies"))
  template("RELEASE_NOTES.md.erb", File.join(package_name, "RELEASE_NOTES.md"))
  template("README.md.erb", File.join(package_name, "README.md"))
  template("metafile.cs.erb", File.join(package_name,"src", package_name, package_name + "_meta.cs"))

  if options[:visual_studio]
    temp = Wooget::Templates::VisualStudio.new()
    destination = File.expand_path("./#{package_name}")

    vs_options = {:destination => destination, :name => package_name, :src =>{}, :quiet =>@options[:quiet]}
    vs_options[:tests] = {} if options[:tests]
    temp.create_project(vs_options)
  end
end