class CurriculumGenerator::Generator::CvDoubleItem

Public Class Methods

new(param, data, lang) click to toggle source
# File lib/curriculum-generator/generator/cv_double_item.rb, line 5
def initialize(param, data, lang)
  super(param, data, lang)
end

Public Instance Methods

generate() click to toggle source
# File lib/curriculum-generator/generator/cv_double_item.rb, line 9
def generate
  value = get_value(param)
  unless value.is_a?(Array)
    value = Array[value]
  end
  value.collect do |elem|
    instance = self
    result = Either.chain do
      bind -> { elem.is_a?(Hash) }
      bind -> {
        elem.has_key?('item_0') &&
            elem['item_0'].has_key?('title') &&
            elem['item_0'].has_key?('content')
      }
      bind -> {
        elem.has_key?('item_1') &&
            elem['item_1'].has_key?('title') &&
            elem['item_1'].has_key?('content')
      }
      bind -> {
        instance.get_cv_double_item(elem['item_0'], elem['item_1'])
      }
    end
    result.success? ? result.fetch : ''
  end.join("\n")
end

Protected Instance Methods

get_cv_double_item(item_0, item_1) click to toggle source
# File lib/curriculum-generator/generator/cv_double_item.rb, line 38
def get_cv_double_item(item_0, item_1)
  "\\cvdoubleitem" +
      "{#{item_0['title']}}{#{item_0['content']}}" +
      "{#{item_1['title']}}{#{item_1['content']}}"
end