Class: Rbxl::ReadOnlyWorksheet
- Inherits:
-
Object
- Object
- Rbxl::ReadOnlyWorksheet
- Defined in:
- lib/rbxl/read_only_worksheet.rb
Constant Summary collapse
- ELEMENT_NODE =
Nokogiri::XML::Reader::TYPE_ELEMENT
- TEXT_NODE =
Nokogiri::XML::Reader::TYPE_TEXT
- CDATA_NODE =
Nokogiri::XML::Reader::TYPE_CDATA
- END_ELEMENT_NODE =
Nokogiri::XML::Reader::TYPE_END_ELEMENT
Instance Attribute Summary collapse
-
#dimensions ⇒ Object
readonly
Returns the value of attribute dimensions.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
- #calculate_dimension(force: false) ⇒ Object
- #each_row(pad_cells: false, values_only: false, expand_merged: false, &block) ⇒ Object
-
#initialize(zip:, entry_path:, shared_strings:, name:) ⇒ ReadOnlyWorksheet
constructor
A new instance of ReadOnlyWorksheet.
- #max_column ⇒ Object
- #max_row ⇒ Object
- #reset_dimensions ⇒ Object
- #rows(values_only: false, pad_cells: false, expand_merged: false) ⇒ Object
Constructor Details
#initialize(zip:, entry_path:, shared_strings:, name:) ⇒ ReadOnlyWorksheet
Returns a new instance of ReadOnlyWorksheet.
10 11 12 13 14 15 16 17 18 |
# File 'lib/rbxl/read_only_worksheet.rb', line 10 def initialize(zip:, entry_path:, shared_strings:, name:) @zip = zip @entry_path = entry_path @shared_strings = shared_strings @name = name @dimensions = extract_dimensions @merge_ranges_by_row = nil @merge_anchor_values = {} end |
Instance Attribute Details
#dimensions ⇒ Object (readonly)
Returns the value of attribute dimensions.
8 9 10 |
# File 'lib/rbxl/read_only_worksheet.rb', line 8 def dimensions @dimensions end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
8 9 10 |
# File 'lib/rbxl/read_only_worksheet.rb', line 8 def name @name end |
Instance Method Details
#calculate_dimension(force: false) ⇒ Object
50 51 52 53 54 55 56 57 58 59 |
# File 'lib/rbxl/read_only_worksheet.rb', line 50 def calculate_dimension(force: false) if dimensions return dimensions[:ref] end raise UnsizedWorksheetError, "worksheet is unsized, use force: true" unless force @dimensions = scan_dimensions dimensions ? dimensions[:ref] : "A1:A1" end |
#each_row(pad_cells: false, values_only: false, expand_merged: false, &block) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/rbxl/read_only_worksheet.rb', line 20 def each_row(pad_cells: false, values_only: false, expand_merged: false, &block) return enum_for(:each_row, pad_cells: pad_cells, values_only: values_only, expand_merged: ) unless block if values_only && !pad_cells && ! each_row_values_only(&block) else each_row_full(pad_cells: pad_cells, values_only: values_only, expand_merged: , &block) end end |
#max_column ⇒ Object
34 35 36 37 38 |
# File 'lib/rbxl/read_only_worksheet.rb', line 34 def max_column return nil unless dimensions dimensions[:max_col] end |
#max_row ⇒ Object
40 41 42 43 44 |
# File 'lib/rbxl/read_only_worksheet.rb', line 40 def max_row return nil unless dimensions dimensions[:max_row] end |
#reset_dimensions ⇒ Object
46 47 48 |
# File 'lib/rbxl/read_only_worksheet.rb', line 46 def reset_dimensions @dimensions = nil end |
#rows(values_only: false, pad_cells: false, expand_merged: false) ⇒ Object
30 31 32 |
# File 'lib/rbxl/read_only_worksheet.rb', line 30 def rows(values_only: false, pad_cells: false, expand_merged: false) each_row(values_only: values_only, pad_cells: pad_cells, expand_merged: ) end |