Class: Awestruct::CLI::Init

Inherits:
Object
  • Object
show all
Defined in:
lib/awestruct/cli/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' ) )
  copy_file( '.awestruct_ignore', File.join( File.dirname(__FILE__), '/../frameworks/base_awestruct_ignore' ) )
  copy_file( 'Rakefile', File.join( File.dirname(__FILE__), '/../frameworks/base_Rakefile' ) )
  mkdir( 'stylesheets' )
}

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Init.



18
19
20
21
22
# File 'lib/awestruct/cli/init.rb', line 18

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

Instance Method Details

#runObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/awestruct/cli/init.rb', line 24

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