Class: Ruport::Format::Document

Inherits:
OpenStruct
  • Object
show all
Includes:
Enumerable
Defined in:
lib/ruport/format/document.rb

Instance Method Summary collapse

Constructor Details

#initialize(name, options = {}) ⇒ Document

Returns a new instance of Document.



8
9
10
11
12
# File 'lib/ruport/format/document.rb', line 8

def initialize(name,options={})
    super(options)
    self.name = name
    self.pages ||= []
end

Instance Method Details

#<<(page) ⇒ Object



23
24
25
26
# File 'lib/ruport/format/document.rb', line 23

def <<(page)
  page.document = self
  self.pages << page.dup
end

#[](page_name) ⇒ Object



28
29
30
31
# File 'lib/ruport/format/document.rb', line 28

def [](page_name)
  return self.pages[page_name] if page_name.kind_of? Integer
  self.pages.find { |p| p.name.eql?(page_name) }
end

#add_page(name, options = {}) ⇒ Object



18
19
20
21
# File 'lib/ruport/format/document.rb', line 18

def add_page(name,options={})
    options[:document] = self
    self.pages << Format::Page.new(name,options)
end

#cloneObject



33
34
35
36
37
# File 'lib/ruport/format/document.rb', line 33

def clone
  cloned = self.clone
  cloned.pages = self.pages.clone
  return cloned
end

#eachObject



14
15
16
# File 'lib/ruport/format/document.rb', line 14

def each
  self.pages.each { |p| yield(p) }
end