Class: Generator::Generator
- Inherits:
-
Object
- Object
- Generator::Generator
- Defined in:
- lib/generator/generator.rb
Instance Method Summary collapse
- #dev_root ⇒ Object
- #generate(path = nil) ⇒ Object
-
#initialize ⇒ Generator
constructor
A new instance of Generator.
- #project_name(project_folder) ⇒ Object
- #project_web_folder(project) ⇒ Object
- #projects_folder ⇒ Object
- #web_root ⇒ Object
Constructor Details
#initialize ⇒ Generator
Returns a new instance of Generator.
11 12 13 14 15 16 |
# File 'lib/generator/generator.rb', line 11 def initialize @generators = [ StructureGenerator.new, CoffeeGenerator.new, SassGenerator.new, HamlGenerator.new ] end |
Instance Method Details
#dev_root ⇒ Object
22 23 24 |
# File 'lib/generator/generator.rb', line 22 def dev_root return 'dev_root' end |
#generate(path = nil) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/generator/generator.rb', line 38 def generate(path=nil) if path files = [File.dirname(path)] else files = projects_folder end files.each do |project_folder| next unless File.directory? project_folder next if project_folder.include? 'shared' project_name = project_folder.split('/')[-1] project_output_folder = project_web_folder(project_name) puts "generating: \e[32m#{project_output_folder}\e[0m" @generators.each do |generator| generator.generate(project_folder, project_output_folder) end end end |
#project_name(project_folder) ⇒ Object
30 31 32 |
# File 'lib/generator/generator.rb', line 30 def project_name project_folder project_folder.split('/')[-1] end |
#project_web_folder(project) ⇒ Object
34 35 36 |
# File 'lib/generator/generator.rb', line 34 def project_web_folder project "#{web_root}/#{project}" end |
#projects_folder ⇒ Object
26 27 28 |
# File 'lib/generator/generator.rb', line 26 def projects_folder Dir.glob("#{dev_root}/*") end |
#web_root ⇒ Object
18 19 20 |
# File 'lib/generator/generator.rb', line 18 def web_root return 'web_root' end |