Class: Generator::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/generator/generator.rb

Instance Method Summary (collapse)

Constructor Details

- (Generator) initialize

Returns a new instance of Generator



8
9
10
11
12
13
# File 'lib/generator/generator.rb', line 8

def initialize
  @haml      = HamlGenerator.new
  @sass      = SassGenerator.new
  @coffee    = CoffeeGenerator.new
  @structure = StructureGenerator.new
end

Instance Method Details

- (Object) dev_root



19
20
21
# File 'lib/generator/generator.rb', line 19

def dev_root
  return 'dev_root'
end

- (Object) generate



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/generator/generator.rb', line 35

def generate
  FileUtils.rm_rf(Dir.glob("web_root/*"))

  projects_folder.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)

    @structure.generate project_folder, project_output_folder
    @haml.generate      project_folder, project_output_folder
    @coffee.generate    "#{project_folder}/coffee", "#{project_output_folder}/js"
    @sass.generate      "#{project_folder}/sass"  , "#{project_output_folder}/css"
  end
end

- (Object) project_name(project_folder)



27
28
29
# File 'lib/generator/generator.rb', line 27

def project_name project_folder
  project_folder.split('/')[-1]
end

- (Object) project_web_folder(project)



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

def project_web_folder project
  "#{web_root}/#{project}"
end

- (Object) projects_folder



23
24
25
# File 'lib/generator/generator.rb', line 23

def projects_folder
  Dir.glob("#{dev_root}/*")
end

- (Object) web_root



15
16
17
# File 'lib/generator/generator.rb', line 15

def web_root
  return 'web_root'
end