class Hypernova::BatchRenderer

Attributes

jobs[R]

Public Class Methods

new(jobs) click to toggle source
# File lib/hypernova/batch_renderer.rb, line 7
def initialize(jobs)
  @jobs = jobs
end

Public Instance Methods

render(response) click to toggle source

Example of what is returned by this method: {

"DeathStarLaserComponent.js" => "<h1>Hello World</h1>",
"IonCannon.js" => <p>Feel my power!</p>,

}

# File lib/hypernova/batch_renderer.rb, line 39
def render(response)
  fmt_response = response.each_with_object({}) do |array, hash|
    name_of_component = array[0]
    hash[name_of_component] = ensure_has_html(name_of_component, array[1])
  end

  after_response(fmt_response, response).each_with_object({}) do |(name, result), hash|
    hash[name] = result['html']
  end
end
render_blank() click to toggle source

Example of what is returned by this method: {

"DeathStarLaserComponent.js" => <div>I am blank</div>,
"IonCannon.js" => <div>I am blank</div>,

}

# File lib/hypernova/batch_renderer.rb, line 55
def render_blank
  hash = {}
  jobs.each { |name_of_component, job| hash[name_of_component] = render_blank_html(job) }
  hash
end

Private Instance Methods

ensure_has_html(name_of_component, result) click to toggle source
# File lib/hypernova/batch_renderer.rb, line 65
def ensure_has_html(name_of_component, result)
  result['html'] = render_blank_html(jobs[name_of_component]) if result['html'].nil?
  result
end
render_blank_html(job) click to toggle source
# File lib/hypernova/batch_renderer.rb, line 70
def render_blank_html(job)
  Hypernova::BlankRenderer.new(job).render
end