Sha256: 287940b267603c675d14b5bbb15ae5cabc99bedec99fbde4961d2fbbb2dd5f07

Contents?: true

Size: 681 Bytes

Versions: 5

Compression:

Stored size: 681 Bytes

Contents

class CGen::Generator::CvItem < CGen::Generator::BasicGenerator

  def initialize(param, data, lang)
    super(param, data, lang)
  end

  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?('title') && elem.has_key?('content') }
        bind -> { instance.get_cv_item(elem['title'], elem['content']) }
      end
      result.success? ? result.fetch : ''
    end.join("\n")
  end

  protected

  def get_cv_item(title, content)
    "\\cvitem{#{title}}{#{content}}"
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
curriculum-generator-1.0.4 lib/cgen/generator/cv_item.rb
curriculum-generator-1.0.3 lib/cgen/generator/cv_item.rb
curriculum-generator-1.0.2 lib/cgen/generator/cv_item.rb
curriculum-generator-1.0.1 lib/cgen/generator/cv_item.rb
curriculum-generator-1.0.0 lib/cgen/generator/cv_item.rb