Class Card
In: app/pdfs/card.rb
Parent: Prawn::Document

Methods

new   to_pdf  

Public Class methods

[Source]

   # File app/pdfs/card.rb, line 2
2:   def initialize
3:     super(
4:       :top_margin => 52,
5:       :left_margin => 14
6:     )
7:   end

Public Instance methods

[Source]

    # File app/pdfs/card.rb, line 9
 9:   def to_pdf(people, index = 0)
10:     Array.wrap(people).each do |person|
11:       if index > 0 && (index % 15 == 0)
12:         start_new_page
13:       end
14: 
15:       card_top = bounds.top_left.last - ((index % 15) / 3) * 144
16:       card_left_side = bounds.top_left.first + (index % 3) * 199
17:       font "Helvetica-Bold"
18:       fill_color "000000"
19:       self.font_size = 13
20:       draw_text person.name || "", :at => [ card_left_side, card_top ]
21:       self.font_size = 10
22:       draw_text "Categories:", :at => [ card_left_side, card_top - 12 ]
23: 
24:       draw_text "Road: #{person.road_category}", :at => [ card_left_side, card_top - 24 ]
25:       draw_text "MTB: #{Category.short_name(person.mtb_category)}", :at => [ card_left_side + 75, card_top - 24 ]
26: 
27:       draw_text "Track: #{person.track_category}", :at => [ card_left_side, card_top - 36 ]
28:       draw_text "DH: #{Category.short_name(person.dh_category)}", :at => [ card_left_side + 75, card_top - 36 ]
29: 
30:       draw_text "CCX: #{Category.short_name(person.ccx_category)}", :at => [ card_left_side, card_top - 48 ]
31:       draw_text "Age: #{person.racing_age}", :at => [ card_left_side + 75, card_top - 48 ]
32: 
33:       draw_text "Road # #{person.road_number}", :at => [ card_left_side, card_top - 60 ]
34:       draw_text "CX Age: #{person.cyclocross_racing_age}", :at => [ card_left_side + 75, card_top - 60 ]
35: 
36:       draw_text "OBRA License # #{person.license}", :at => [ card_left_side, card_top - 72 ]
37: 
38:       fill_color "ffcc33"
39:       rectangle [ card_left_side + 164, card_top + 10 ], 20, 84
40:       fill
41: 
42:       fill_color "ffffff"
43:       self.font_size = 14
44:       draw_text "2", :at => [ card_left_side + 171, card_top - 10 ]
45:       draw_text "0", :at => [ card_left_side + 171, card_top - 27 ]
46:       draw_text "1", :at => [ card_left_side + 171, card_top - 44 ]
47:       draw_text "1", :at => [ card_left_side + 171, card_top - 61 ]
48:       
49:       index = index + 1
50:     end
51:     
52:     render
53:   end

[Validate]