Sha256: b86e9a47fac8484f0ef53880cbab5d58da467f5444ff0a4376e910859bdbb7e5
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
# Creates a Section class ReportBuilder::Section @@n=1 attr_reader :parent, :elements, :name def initialize(name=nil) if name.nil? @name="Section #{@nn}" @nn+=1 else @name=name end @parent = nil @elements = [] end def parent=(sect) if sect.is_a? ReportBuilder::Section @parent=sect else raise ArgumentError("Parent should be a Section") end end def to_rb_text(generator) generator.add_text(("="*generator.parse_level)+" "+name) generator.parse_cycle(self) end def to_rb_html(generator) htag="h#{generator.parse_level+1}" anchor=generator.add_toc_entry(name) generator.add_raw "<div class='section'><#{htag}>#{name}</#{htag}><a name='#{anchor}'></a>" generator.parse_cycle(self) generator.add_raw "</div>" end def add(*elements) elements.each do |element| if element.is_a? ReportBuilder::Section element.parent=self end if element.respond_to?(:to_reportbuilder) @elements.push(element.to_reportbuilder) else @elements.push(element) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
reportbuilder-0.1.0 | lib/reportbuilder/section.rb |