class Portable::Document
Top-level object model for a renderable document.
Attributes
options[R]
sheets_by_name[R]
Public Class Methods
new(sheets: [], options: {})
click to toggle source
# File lib/portable/document.rb, line 22 def initialize(sheets: [], options: {}) @sheets_by_name = make_unique_sheets_by_name(sheets) @options = Modeling::Options.make(options, nullable: false) freeze end
Public Instance Methods
sheet(name)
click to toggle source
# File lib/portable/document.rb, line 29 def sheet(name) sheets_by_name.fetch(name.to_s) end
sheets()
click to toggle source
# File lib/portable/document.rb, line 33 def sheets sheets_by_name.values end
Private Instance Methods
make_unique_sheets_by_name(sheets)
click to toggle source
# File lib/portable/document.rb, line 41 def make_unique_sheets_by_name(sheets) sheets = Modeling::Sheet.array(sheets) sheets << Modeling::Sheet.new if sheets.empty? assert_no_duplicate_names(sheets) pivot_by_name(sheets) end