Sha256: 3ec602e391fb392f2a5d6c5d66b829b770cf74fce1cc62a78e3e7cb6b7b60319
Contents?: true
Size: 1.39 KB
Versions: 4
Compression:
Stored size: 1.39 KB
Contents
# encoding: utf-8 gem "prawn", "~> 0.4" require "prawn" module Stories class Runner::PDF < Runner def render_header(pdf) end def finished(elapsed_time) super Prawn::Document.generate("stories.pdf", :page_size => "A4") do |pdf| render_header(pdf) pdf.text "User Acceptance Tests", :size => 20, :style => :bold pdf.move_down(15) $stories.each do |story| pdf.text story.name, :style => :bold story.scenarios.each_with_index do |scenario,i| scenario_leading = 15 pdf.span(pdf.bounds.width - scenario_leading, :position => scenario_leading) do pdf.text "— #{scenario.name}" pdf.fill_color "666666" unless scenario.steps.empty? && scenario.assertions.empty? pdf.span(pdf.bounds.width - 30, :position => 30) do pdf.font_size(9) do render_many(pdf, scenario.steps) render_many(pdf, scenario.assertions) end end end pdf.move_down(5) unless i + 1 == story.scenarios.size pdf.fill_color "000000" end end pdf.move_down(10) end end end def render_many(pdf, elements) elements.each do |el| pdf.text el.to_s end end end end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
citrusbyte-stories-0.1.0 | lib/stories/runner/pdf.rb |
citrusbyte-stories-0.1.1 | lib/stories/runner/pdf.rb |
stories-0.1.0 | lib/stories/runner/pdf.rb |
stories-0.1.1 | lib/stories/runner/pdf.rb |