# There are two drawing primitives in Prawn: fill and # stroke. # # These are the methods that actually draw stuff on the document. All the other # drawing shapes like rectangle, circle or # line_to define drawing paths. These paths need to be either # stroked or filled to gain form on the document. # # Calling these methods without a block will act on the drawing path that # has been defined prior to the call. # # Calling with a block will act on the drawing path set within the # block. # # Most of the methods which define drawing paths have methods of the same name # starting with stroke_ and fill_ which create the drawing path and then stroke # or fill it. require_relative '../example_helper' filename = File.basename(__FILE__).gsub('.rb', '.pdf') Prawn::ManualBuilder::Example.generate(filename) do stroke_axis # No block line [0, 200], [100, 150] stroke rectangle [0, 100], 100, 100 fill # With block stroke { line [200, 200], [300, 150] } fill { rectangle [200, 100], 100, 100 } # Method hook stroke_line [400, 200], [500, 150] fill_rectangle [400, 100], 100, 100 end