Sha256: 448bbbaf4fcaf819023855f563765b0db723a8c0e9afda43ff5f0c49bdc1ca65
Contents?: true
Size: 1.42 KB
Versions: 1
Compression:
Stored size: 1.42 KB
Contents
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.gsub(/"([^"]+)"/) { "“#{$1}”" } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
citrusbyte-stories-0.0.5 | lib/stories/runner/pdf.rb |