Class: Resume::LatexBackend

Inherits:
Object
  • Object
show all
Defined in:
lib/resume/latex.rb

Defined Under Namespace

Classes: BindingObject

Constant Summary collapse

ESCAPING_RULES =
{
  "&" => '\&',
#       "TeX" => '\TeX',
  "LaTeX" => '\LaTeX',
  "$" => '\textdollar',
  "#" => '\#',
  "%" => '\%',
  "^" => '\^',
  "_" => '\_',
  "{" => '\{',
  "}" => '\}',
  "<" => '\textless',
  ">" => '\textgreater',
  "~" => '\textasciitilde'
}

Class Method Summary collapse

Class Method Details

.render(resume) ⇒ String

Returns a LaTeX document for the supplied resume and options

Parameters:

  • The (resume)

    resume information

  • options (Hash)

    Options

Returns:

  • (String)

    A LaTeX document



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/resume/latex.rb', line 24

def render resume
  context = {:resume_class => File.dirname(__FILE__) + "/templates/resume"}

  vars = [:about, :schools, :jobs, :sections]
  vars.each do |name|
    var = nil
    if values = resume.send(name)
      if values.is_a? Array
        var = []
        values.each do |a|
          var << {}
          a.each do |k, v|
            var[-1][k] = escape v
          end
        end
      else
        var = {}
        values.each do |k, v|
          var[k] = escape v
        end
      end
      context[name] = var
    end
  end
  template = File.open(File.dirname(__FILE__) + "/templates/latex.tex.erb").read

  Erubis::Eruby.new(template).evaluate(context)
end