class EvJobGen::Renderer

Public Class Methods

new(template:, specoffset:, jobfile:, configfile:) click to toggle source
# File lib/ev_job_gen/renderer.rb, line 6
def initialize(template:, specoffset:, jobfile:, configfile:)
  @template      = template
  @specoffset    = specoffset
  @job           = EvJobGen::Job.new(jobfile)
  @config        = EvJobGen::Config.new(configfile)
end

Public Instance Methods

render() click to toggle source
# File lib/ev_job_gen/renderer.rb, line 13
def render
  spec = SpecRenderer.new(
    job:    @job,
    config: @config,
  ).render

  r = ManifestRenderer.new(
    template: @template,
    job:      @job,
    spec:     offset(spec, off: @specoffset + 2)
  ).render

  normalize(r)
end

Private Instance Methods

normalize(text) click to toggle source
# File lib/ev_job_gen/renderer.rb, line 30
def normalize(text)
  text.split("\n").map { |l| l.rstrip }.map { |l| "#{l}\n" }.join
end
offset(text, off:) click to toggle source
# File lib/ev_job_gen/renderer.rb, line 34
def offset(text, off:)
  "\n" + text.split("\n").map { |l| "#{' ' * off}#{l}\n" }.join
end