Class: Smartgen::Generator

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/smartgen/generator.rb

Overview

Generates files, possibly using layout and copying assets.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.rendererObject

Returns the current renderer.



51
52
53
# File 'lib/smartgen/generator.rb', line 51

def renderer
  @renderer ||= Smartgen::Renderer::ERB.new
end

.renderer=(value) ⇒ Object

Sets the renderer used when generating files.



56
57
58
# File 'lib/smartgen/generator.rb', line 56

def renderer=(value)
  @renderer = value
end

Instance Method Details

#copy_assetsObject



42
43
44
45
46
47
# File 'lib/smartgen/generator.rb', line 42

def copy_assets
  options[:assets].each do |dir|
    self.class.source_root File.dirname(dir)
    directory File.basename(dir), output_folder_path(File.basename(dir)), :force => true
  end
end

#create_output_folderObject



31
32
33
34
# File 'lib/smartgen/generator.rb', line 31

def create_output_folder
  destination_root = output_folder
  empty_directory output_folder
end

#generate_filesObject



36
37
38
39
40
# File 'lib/smartgen/generator.rb', line 36

def generate_files
  markup_files.each do |markup_file|
    create_file output_folder_path("#{markup_file.filename}.html"), process_file(markup_file), :force => true
  end
end