Class: MilkTea::ProjectScaffold

Inherits:
Object
  • Object
show all
Defined in:
lib/milk_tea/tooling/project_scaffold.rb

Defined Under Namespace

Classes: Result

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ ProjectScaffold

Returns a new instance of ProjectScaffold.



15
16
17
# File 'lib/milk_tea/tooling/project_scaffold.rb', line 15

def initialize(path)
  @path = File.expand_path(path)
end

Class Method Details

.create(path) ⇒ Object



11
12
13
# File 'lib/milk_tea/tooling/project_scaffold.rb', line 11

def self.create(path)
  new(path).create
end

Instance Method Details

#createObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/milk_tea/tooling/project_scaffold.rb', line 19

def create
  validate_target!

  FileUtils.mkdir_p(entry_dir)
  File.write(manifest_path, render_manifest)
  File.write(entry_path, render_entry_source)

  Result.new(
    root_path: @path,
    manifest_path: manifest_path,
    entry_path: entry_path,
    package_name: PackageManifest.default_package_name_for_root(@path),
  )
end