diff options
| author | Randy Morgan <[email protected]> | 2012-07-15 16:46:04 +0900 |
|---|---|---|
| committer | Randy Morgan <[email protected]> | 2012-07-15 16:46:04 +0900 |
| commit | aeb2d164c3db46d4d2d6e05fd34eba4e2193d28a (patch) | |
| tree | 3f2acc2d7e6ff84b80b1c1ae691b6113590cb27c /lib/axlsx/workbook/worksheet | |
| parent | fc7ef8f32e3109f859a4b3ccb666b56640d319ed (diff) | |
| download | caxlsx-aeb2d164c3db46d4d2d6e05fd34eba4e2193d28a.tar.gz caxlsx-aeb2d164c3db46d4d2d6e05fd34eba4e2193d28a.zip | |
refactor string based cell range retrival
Diffstat (limited to 'lib/axlsx/workbook/worksheet')
| -rw-r--r-- | lib/axlsx/workbook/worksheet/worksheet.rb | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb index ba39180f..bf48bf67 100644 --- a/lib/axlsx/workbook/worksheet/worksheet.rb +++ b/lib/axlsx/workbook/worksheet/worksheet.rb @@ -576,25 +576,27 @@ module Axlsx # @return [Cell, Array] def [] (cell_def) return rows[cell_def] if cell_def.is_a?(Integer) - - parts = cell_def.split(':') - first = name_to_cell parts[0] + parts = cell_def.split(':').map{ |part| name_to_cell part } if parts.size == 1 - first + parts.first else - cells = [] - last = name_to_cell(parts[1]) - rows[(first.row.index..last.row.index)].each do |r| - r.cells[(first.index..last.index)].each do |c| - cells << c - end - end - cells + range(*parts) end end private + def range(*cell_def) + first, last = cell_def + cells = [] + rows[(first.row.index..last.row.index)].each do |r| + r.cells[(first.index..last.index)].each do |c| + cells << c + end + end + cells + end + # A collection of protected ranges in the worksheet # @note The recommended way to manage protected ranges is with Worksheet#protect_range # @see Worksheet#protect_range |
