Class: WinExcelDb::DataRow
- Inherits:
-
Object
- Object
- WinExcelDb::DataRow
- Defined in:
- lib/win_excel_db/data_row.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#row_number ⇒ Object
Returns the value of attribute row_number.
-
#row_sheet ⇒ Object
Returns the value of attribute row_sheet.
-
#row_value_array ⇒ Object
Returns the value of attribute row_value_array.
Instance Method Summary collapse
- #delete ⇒ Object
- #index=(index) ⇒ Object
-
#initialize(row_sheet, row_number, header) ⇒ DataRow
constructor
A new instance of DataRow.
- #read(field) ⇒ Object
- #read_formula(field) ⇒ Object
- #read_row_buffer(field) ⇒ Object
- #write(field, value) ⇒ Object
- #write_formula(field, value) ⇒ Object
- #write_row_buffer(field, value) ⇒ Object
Constructor Details
#initialize(row_sheet, row_number, header) ⇒ DataRow
Returns a new instance of DataRow.
10 11 12 13 14 15 16 |
# File 'lib/win_excel_db/data_row.rb', line 10 def initialize(row_sheet, row_number, header) @row_sheet=row_sheet @row_number=row_number @name=@row_sheet.name @header=header @row_value_array=Array.new(WinExcelDb::MAX_COLUMNS) end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
8 9 10 |
# File 'lib/win_excel_db/data_row.rb', line 8 def name @name end |
#row_number ⇒ Object
Returns the value of attribute row_number.
7 8 9 |
# File 'lib/win_excel_db/data_row.rb', line 7 def row_number @row_number end |
#row_sheet ⇒ Object
Returns the value of attribute row_sheet.
7 8 9 |
# File 'lib/win_excel_db/data_row.rb', line 7 def row_sheet @row_sheet end |
#row_value_array ⇒ Object
Returns the value of attribute row_value_array.
7 8 9 |
# File 'lib/win_excel_db/data_row.rb', line 7 def row_value_array @row_value_array end |
Instance Method Details
#delete ⇒ Object
79 80 81 82 83 84 |
# File 'lib/win_excel_db/data_row.rb', line 79 def delete # delete only if datarow is still known by row_sheet if @row_sheet.data_rows[@row_number-2]==self then @row_sheet.delete_row(@row_number) end end |
#index=(index) ⇒ Object
75 76 77 |
# File 'lib/win_excel_db/data_row.rb', line 75 def index=(index) @row_number=index end |
#read(field) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/win_excel_db/data_row.rb', line 42 def read(field) if @row_sheet.data_rows[@row_number-2] == self then if read_row_buffer(field) then return read_row_buffer(field) else write_row_buffer(field, @row_sheet.read(@row_number, field)) end else raise "Read error! Trying to read #{@name}.#{field} but Data_Row has been deleted in Row_Sheet already" end end |
#read_formula(field) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/win_excel_db/data_row.rb', line 63 def read_formula(field) if @row_sheet.data_rows[@row_number-2] == self then if read_row_buffer(field) then return read_row_buffer(field) else write_row_buffer(field, @row_sheet.read_formula(@row_number, field)) end else raise "Read error! Trying to read #{@name}.#{field} but Data_Row has been deleted in Row_Sheet already" end end |
#read_row_buffer(field) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/win_excel_db/data_row.rb', line 18 def read_row_buffer(field) if @header[field] then position=@header[field] - 1 @row_value_array[position] else raise "Trying to read buffered value of not existing Row: #{field} in Worksheet: #{name}" end end |
#write(field, value) ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/win_excel_db/data_row.rb', line 33 def write(field, value) if @row_sheet.data_rows[@row_number-2] == self then write_row_buffer(field,value) @row_sheet.write(@row_number, field, value) else raise "Write error! Trying to write #{@name}.#{field} but Data_Row has been deleted in Row_Sheet already" end end |
#write_formula(field, value) ⇒ Object
54 55 56 57 58 59 60 61 |
# File 'lib/win_excel_db/data_row.rb', line 54 def write_formula(field, value) if @row_sheet.data_rows[@row_number-2] == self then write_row_buffer(field,value) @row_sheet.write_formula(@row_number, field, value) else raise "Write error! Trying to write #{@name}.#{field} but Data_Row has been deleted in Row_Sheet already" end end |
#write_row_buffer(field, value) ⇒ Object
27 28 29 30 31 |
# File 'lib/win_excel_db/data_row.rb', line 27 def write_row_buffer(field, value) raise "Write error! Column #{field} not found in Worksheet #{@name} " if !@header[field] position=@header[field] - 1 @row_value_array[position]=value end |