Class: EasyHtmlGenerator::Generators

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

Overview

this class handles multiple generators for a project

Instance Method Summary collapse

Constructor Details

#initialize(project) ⇒ Generators

Returns a new instance of Generators.



5
6
7
8
# File 'lib/easy_html_generator/generators.rb', line 5

def initialize(project)
  @project    = project
  @generators = load_generators
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args) ⇒ Object (private)



48
49
50
51
52
# File 'lib/easy_html_generator/generators.rb', line 48

def method_missing(name, *args)
  return super.method_missing name unless @generators.key? name

  @generators[name]
end

Instance Method Details

#generateObject



10
11
12
13
14
# File 'lib/easy_html_generator/generators.rb', line 10

def generate
  @generators.each do |_index, generator|
    generator.generate
  end
end

#generator_class_by_name(name) ⇒ Object



16
17
18
19
20
21
# File 'lib/easy_html_generator/generators.rb', line 16

def generator_class_by_name(name)
  name = name.split('_').map { |n| capitalize(n) }.join('::')
  capitalize(name) # if there is no _

  "EasyHtmlGenerator::Generator::#{name}"
end