Class: PdfTempura::Document::FieldSet

Inherits:
Object
  • Object
show all
Includes:
DefaultCommands, Validation
Defined in:
lib/pdf_tempura/document/field_set.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from DefaultCommands

#boxed_characters, #checkbox_field, #field_set, included, #table, #text_field, #with_default_options

Methods included from Validation

included

Constructor Details

#initialize(name, options = {}, &block) ⇒ FieldSet

Returns a new instance of FieldSet.



10
11
12
13
14
15
16
17
# File 'lib/pdf_tempura/document/field_set.rb', line 10

def initialize(name, options = {}, &block)
  @name = name
  @fields = []
  @options = options

  instance_eval(&block) if block_given?
  validate!
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/pdf_tempura/document/field_set.rb', line 6

def name
  @name
end

Instance Method Details

#coordinatesObject



19
20
21
# File 'lib/pdf_tempura/document/field_set.rb', line 19

def coordinates
  [x,y]
end

#dimensionsObject



23
24
25
# File 'lib/pdf_tempura/document/field_set.rb', line 23

def dimensions
  [width,height]
end

#heightObject



40
41
42
43
# File 'lib/pdf_tempura/document/field_set.rb', line 40

def height
  return 0 if fields.empty?
  y - fields.map{ |field| field.y - field.height }.min
end

#paddingObject



45
46
47
# File 'lib/pdf_tempura/document/field_set.rb', line 45

def padding
  [0,0,0,0]
end

#widthObject



35
36
37
38
# File 'lib/pdf_tempura/document/field_set.rb', line 35

def width
  return 0 if fields.empty?
  fields.map{ |field| field.x + field.width }.max - x
end

#xObject



27
28
29
# File 'lib/pdf_tempura/document/field_set.rb', line 27

def x
  fields.map(&:x).min || 0
end

#yObject



31
32
33
# File 'lib/pdf_tempura/document/field_set.rb', line 31

def y
  fields.map(&:y).max || 0
end