Class: RobustExcelOle::Range
- Inherits:
-
Object
- Object
- RobustExcelOle::Range
- Includes:
- Enumerable
- Defined in:
- lib/robust_excel_ole/range.rb
Instance Method Summary collapse
- #[](index) ⇒ Object
- #each ⇒ Object
-
#initialize(win32_range) ⇒ Range
constructor
A new instance of Range.
-
#method_missing(id, *args) ⇒ Object
:nodoc: #.
- #values(range = nil) ⇒ Object
Constructor Details
#initialize(win32_range) ⇒ Range
Returns a new instance of Range.
6 7 8 |
# File 'lib/robust_excel_ole/range.rb', line 6 def initialize(win32_range) @range = win32_range end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(id, *args) ⇒ Object
:nodoc: #
34 35 36 |
# File 'lib/robust_excel_ole/range.rb', line 34 def method_missing(id, *args) # :nodoc: # @range.send(id, *args) end |
Instance Method Details
#[](index) ⇒ Object
29 30 31 32 |
# File 'lib/robust_excel_ole/range.rb', line 29 def [] index @cells ||= [] @cells[index + 1] ||= RobustExcelOle::Cell.new(@range.Cells.Item(index + 1)) end |
#each ⇒ Object
10 11 12 13 14 |
# File 'lib/robust_excel_ole/range.rb', line 10 def each @range.each do |row_or_column| yield RobustExcelOle::Cell.new(row_or_column) end end |
#values(range = nil) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/robust_excel_ole/range.rb', line 16 def values(range = nil) #+# result = self.map(&:value).flatten result = self.map{|x| x.value}.flatten #+# range ? result.each_with_index.select{ |row_or_column, i| range.include?(i) }.map{ |i| i[0] } : result if range relevant_result = [] result.each_with_index{ |row_or_column, i| relevant_result << row_or_column if range.include?(i) } relevant_result else result end end |