Class: CurriculumGenerator::Generator::BasicGenerator

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

Overview

Abstract class for a generator. All generators should inherit from this class.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(param, data, lang) ⇒ BasicGenerator

Returns a new instance of BasicGenerator.



11
12
13
14
15
# File 'lib/curriculum-generator/generator/basic_generator.rb', line 11

def initialize(param, data, lang)
  @param = param
  @data = data
  @lang = lang
end

Instance Attribute Details

#dataObject

Returns the value of attribute data.



8
9
10
# File 'lib/curriculum-generator/generator/basic_generator.rb', line 8

def data
  @data
end

#langObject

Returns the value of attribute lang.



9
10
11
# File 'lib/curriculum-generator/generator/basic_generator.rb', line 9

def lang
  @lang
end

#paramObject

Returns the value of attribute param.



7
8
9
# File 'lib/curriculum-generator/generator/basic_generator.rb', line 7

def param
  @param
end

Instance Method Details

#evaluate(input, context) ⇒ Object



35
36
37
38
# File 'lib/curriculum-generator/generator/basic_generator.rb', line 35

def evaluate(input, context)
  eruby = Erubis::Eruby.new(input)
  eruby.evaluate(context) # Return
end

#generateObject



17
18
19
# File 'lib/curriculum-generator/generator/basic_generator.rb', line 17

def generate
  fail("Abstract class")
end

#get_value(keys_str) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/curriculum-generator/generator/basic_generator.rb', line 21

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