Class: Awestruct::Commands::Init

Inherits:
Object
  • Object
show all
Defined in:
lib/awestruct/commands/init.rb

Constant Summary collapse

BASE_MANIFEST =
Manifest.new {
  mkdir( '_config' )
  mkdir( '_layouts' )
  mkdir( '_ext' )
  copy_file( '_ext/pipeline.rb', File.join( File.dirname(__FILE__), 'frameworks/base_pipeline.rb' ) )
  mkdir( 'stylesheets' )
}

Instance Method Summary collapse

Constructor Details

#initialize(dir = Dir.pwd, framework = 'compass', scaffold = true) ⇒ Init

Returns a new instance of Init.



16
17
18
19
20
# File 'lib/awestruct/commands/init.rb', line 16

def initialize(dir=Dir.pwd,framework='compass',scaffold=true)
  @dir       = dir
  @framework = framework
  @scaffold  = scaffold
end

Instance Method Details

#runObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/awestruct/commands/init.rb', line 22

def run()
  manifest = Manifest.new( BASE_MANIFEST )
  manifest.install_compass( @framework )
  scaffold_name = ( @framework == 'compass' ? 'blueprint' : @framework )
  if ( @scaffold )
    manifest.copy_file( '_layouts/base.html.haml', File.join( File.dirname(__FILE__), "/frameworks/#{scaffold_name}/base_layout.html.haml" ) )
    if ( File.file? File.join( File.dirname(__FILE__), "/frameworks/#{scaffold_name}/base_index.html.haml" ) )
      manifest.copy_file( 'index.html.haml', File.join( File.dirname(__FILE__), "/frameworks/#{scaffold_name}/base_index.html.haml" ) )
    else
      manifest.copy_file( 'index.html.haml', File.join( File.dirname(__FILE__), "/frameworks/base_index.html.haml" ) )
    end
    manifest.touch_file( '_config/site.yml' )
  end
  manifest.perform( @dir )
end