Class: CGen::Generator::BasicGenerator
- Inherits:
-
Object
- Object
- CGen::Generator::BasicGenerator
- Defined in:
- lib/cgen/generator/basic_generator.rb
Overview
Abstract class for a generator. All generators should inherit from this class
Direct Known Subclasses
CvColumn, CvDoubleItem, CvEntry, CvItem, CvItemWithComment, CvListDoubleItem, CvListItem, Education, List, MacroSubstitution, SelfAssessment, WorkExperience
Instance Attribute Summary collapse
-
#data ⇒ Object
Returns the value of attribute data.
-
#lang ⇒ Object
Returns the value of attribute lang.
-
#param ⇒ Object
Returns the value of attribute param.
Instance Method Summary collapse
- #evaluate(input, context) ⇒ Object
- #generate ⇒ Object
- #get_value(keys_str) ⇒ Object
-
#initialize(param, data, lang) ⇒ BasicGenerator
constructor
A new instance of BasicGenerator.
Constructor Details
#initialize(param, data, lang) ⇒ BasicGenerator
Returns a new instance of BasicGenerator.
8 9 10 11 12 |
# File 'lib/cgen/generator/basic_generator.rb', line 8 def initialize(param, data, lang) @param = param @data = data @lang = lang end |
Instance Attribute Details
#data ⇒ Object
Returns the value of attribute data.
5 6 7 |
# File 'lib/cgen/generator/basic_generator.rb', line 5 def data @data end |
#lang ⇒ Object
Returns the value of attribute lang.
6 7 8 |
# File 'lib/cgen/generator/basic_generator.rb', line 6 def lang @lang end |
#param ⇒ Object
Returns the value of attribute param.
4 5 6 |
# File 'lib/cgen/generator/basic_generator.rb', line 4 def param @param end |
Instance Method Details
#evaluate(input, context) ⇒ Object
32 33 34 35 |
# File 'lib/cgen/generator/basic_generator.rb', line 32 def evaluate(input, context) eruby = Erubis::Eruby.new(input) eruby.evaluate(context) # return end |
#generate ⇒ Object
14 15 16 |
# File 'lib/cgen/generator/basic_generator.rb', line 14 def generate raise 'Abstract class' end |
#get_value(keys_str) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/cgen/generator/basic_generator.rb', line 18 def get_value(keys_str) keys = keys_str.split('.').reverse if keys.empty? '' # return else data_tmp = @data.dup until keys.empty? key = keys.pop data_tmp = data_tmp[key] end data_tmp # return end end |