Class: RedisArray::RedisWorkbook
- Inherits:
-
Object
- Object
- RedisArray::RedisWorkbook
- Defined in:
- lib/redisarray/redis_workbook.rb
Instance Method Summary collapse
- #append_sheet_data(sheet_name, sheet_data, options = {}) ⇒ Object
- #append_workbook(workbook, options = {}) ⇒ Object
- #delete_sheet_data(sheet_name, options = {}) ⇒ Object
- #get_sheet_data(sheet_name, rows = 0..-1) ⇒ Object
-
#get_sheet_data_as_array(sheet_name, rows = 0..-1) ⇒ Object
return single row or range from sheet specified as first parameter, the row index(es) to retrieve should be specified as the second parameter Parameters:
sheet_name
rows
- range or single integer. - #get_sheet_names ⇒ Object
-
#initialize(hash_group_name, workbook_name) ⇒ RedisWorkbook
constructor
A new instance of RedisWorkbook.
- #set_sheet_data(sheet_name, sheet_data, options = {}) ⇒ Object
- #set_workbook(workbook, options = {}) ⇒ Object
- #set_workbooks(workbooks) ⇒ Object
- #set_workbooks_raw(workbooks) ⇒ Object
Constructor Details
#initialize(hash_group_name, workbook_name) ⇒ RedisWorkbook
Returns a new instance of RedisWorkbook.
4 5 6 7 |
# File 'lib/redisarray/redis_workbook.rb', line 4 def initialize hash_group_name, workbook_name @workbook_name = workbook_name @hash_group_name = hash_group_name end |
Instance Method Details
#append_sheet_data(sheet_name, sheet_data, options = {}) ⇒ Object
17 18 19 |
# File 'lib/redisarray/redis_workbook.rb', line 17 def append_sheet_data sheet_name, sheet_data, ={} RedisTable.append_table_data @hash_group_name.to_s + ':' + @workbook_name.to_s, sheet_name, sheet_data, end |
#append_workbook(workbook, options = {}) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/redisarray/redis_workbook.rb', line 34 def append_workbook workbook, ={} .reverse_merge!(:skip_headers => false) workbook.sheets.each_pair do |sheet_name, sheet| next if [:skip_headers] and sheet.getData() == [] append_sheet_data sheet_name, sheet.getData(), .merge(:header_row => sheet.getHeader()) end end |
#delete_sheet_data(sheet_name, options = {}) ⇒ Object
9 10 11 |
# File 'lib/redisarray/redis_workbook.rb', line 9 def delete_sheet_data sheet_name, ={} RedisTable.delete_table_data @hash_group_name.to_s + ':' + @workbook_name.to_s, sheet_name, end |
#get_sheet_data(sheet_name, rows = 0..-1) ⇒ Object
30 31 32 |
# File 'lib/redisarray/redis_workbook.rb', line 30 def get_sheet_data sheet_name, rows = 0..-1 RedisTable.get_table_data @hash_group_name.to_s + ':' + @workbook_name.to_s, sheet_name, rows end |
#get_sheet_data_as_array(sheet_name, rows = 0..-1) ⇒ Object
return single row or range from sheet specified as first parameter, the row index(es) to retrieve should be specified as the second parameter Parameters: sheet_name
rows
- range or single integer
26 27 28 |
# File 'lib/redisarray/redis_workbook.rb', line 26 def get_sheet_data_as_array sheet_name, rows = 0..-1 RedisTable.get_table_data_as_array @hash_group_name.to_s + ':' + @workbook_name.to_s, sheet_name, rows end |
#get_sheet_names ⇒ Object
75 76 77 |
# File 'lib/redisarray/redis_workbook.rb', line 75 def get_sheet_names RedisTable.get_table_names @hash_group_name.to_s + ':' + @workbook_name.to_s end |
#set_sheet_data(sheet_name, sheet_data, options = {}) ⇒ Object
13 14 15 |
# File 'lib/redisarray/redis_workbook.rb', line 13 def set_sheet_data sheet_name, sheet_data, ={} RedisTable.set_table_data @hash_group_name.to_s + ':' + @workbook_name.to_s, sheet_name, sheet_data, end |
#set_workbook(workbook, options = {}) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/redisarray/redis_workbook.rb', line 42 def set_workbook workbook, ={} .reverse_merge!(:skip_headers => false) workbook.sheets.each_pair do |sheet_name, sheet| next if [:skip_headers] and sheet.getData() == [] set_sheet_data sheet_name, sheet.getData(), .merge(:header_row => sheet.getHeader()) end end |
#set_workbooks(workbooks) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/redisarray/redis_workbook.rb', line 56 def set_workbooks workbooks final_workbook = LWorkbook.new workbooks.each_with_index do |workbook, wi| workbook.sheets.each_pair do |sheet_name, sheet| final_sheet = final_workbook.getSheet(sheet_name) if final_sheet.nil? final_sheet = LSheet.new final_sheet.setHeader(sheet.getHeader()) end sheet.getData().each do |row| final_sheet.addRow(row) end if sheet.getData() != [] final_workbook.setSheet(sheet_name, final_sheet) end end set_workbook final_workbook end |
#set_workbooks_raw(workbooks) ⇒ Object
50 51 52 53 54 |
# File 'lib/redisarray/redis_workbook.rb', line 50 def set_workbooks_raw workbooks workbooks.each_with_index do |workbook, wi| set_workbook workbook end end |