Class: EasyHtmlGenerator::Generators
- Inherits:
-
Object
- Object
- EasyHtmlGenerator::Generators
- Defined in:
- lib/easy_html_generator/generators.rb
Overview
this class handles multiple generators for a project
Instance Method Summary collapse
- #generate ⇒ Object
- #generator_class_by_name(name) ⇒ Object
-
#initialize(project) ⇒ Generators
constructor
A new instance of Generators.
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
#generate ⇒ Object
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 |