Class: TestCentricity::ExcelDataSource

Inherits:
DataSource show all
Defined in:
lib/testcentricity_web/data_objects/data_objects_helper.rb

Direct Known Subclasses

EnvironData

Instance Attribute Summary collapse

Attributes inherited from DataSource

#file_path, #node

Instance Method Summary collapse

Methods inherited from DataSource

#read_json_node_data, #read_yaml_node_data, #write_json_node_data, #write_yaml_node_data

Instance Attribute Details

#row_specObject

Returns the value of attribute row_spec.



114
115
116
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 114

def row_spec
  @row_spec
end

#worksheetObject

Returns the value of attribute worksheet.



113
114
115
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 113

def worksheet
  @worksheet
end

Instance Method Details

#pick_excel_data_source(sheet, row_spec) ⇒ Object



116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 116

def pick_excel_data_source(sheet, row_spec)
  @worksheet = sheet
  if ENV['TEST_ENVIRONMENT']
    environment = ENV['TEST_ENVIRONMENT']
    data_file = "#{XL_PRIMARY_DATA_PATH}#{environment}_data.xls"
    data_file = XL_PRIMARY_DATA_FILE unless ExcelData.row_spec_exists?(data_file, @worksheet, row_spec)
  else
    data_file = XL_PRIMARY_DATA_FILE
  end
  @file_path = data_file
  data_file
end

#read_excel_pool_data(sheet, row_name, parallel = false) ⇒ Object



134
135
136
137
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 134

def read_excel_pool_data(sheet, row_name, parallel = false)
  @row_spec = parallel == :parallel && ENV['PARALLEL'] ? "#{row_name}#{ENV['TEST_ENV_NUMBER']}" : row_name
  ExcelData.read_row_from_pool(pick_excel_data_source(sheet, row_name), sheet, @row_spec)
end

#read_excel_range_data(sheet, range_name) ⇒ Object



139
140
141
142
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 139

def read_excel_range_data(sheet, range_name)
  @row_spec = range_name
  ExcelData.read_range_data(pick_excel_data_source(sheet, range_name), sheet, range_name)
end

#read_excel_row_data(sheet, row_name, parallel = false) ⇒ Object



129
130
131
132
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 129

def read_excel_row_data(sheet, row_name, parallel = false)
  @row_spec = parallel == :parallel && ENV['PARALLEL'] ? "#{row_name}#{ENV['TEST_ENV_NUMBER']}" : row_name
  ExcelData.read_row_data(pick_excel_data_source(sheet, @row_spec), sheet, @row_spec)
end

#write_excel_row_data(sheet, row_name, row_data, parallel = false) ⇒ Object



144
145
146
147
# File 'lib/testcentricity_web/data_objects/data_objects_helper.rb', line 144

def write_excel_row_data(sheet, row_name, row_data, parallel = false)
  @row_spec = parallel == :parallel && ENV['PARALLEL'] ? "#{row_name}#{ENV['TEST_ENV_NUMBER']}" : row_name
  ExcelData.write_row_data(pick_excel_data_source(sheet, @row_spec), sheet, @row_spec, row_data)
end