Class: PredictabilityEngine::DataSources::Csv

Inherits:
Base
  • Object
show all
Defined in:
lib/predictability_engine/data_sources/csv.rb

Constant Summary collapse

JIRA_HEADER_MAP =
{
  issue_key: :id,
  issue_type: :type
}.freeze

Instance Method Summary collapse

Methods inherited from Base

#configure, #load

Instance Method Details

#perform_load(path) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/predictability_engine/data_sources/csv.rb', line 14

def perform_load(path)
  config = load_csv_config(path)
  @url_prefix ||= config['url_prefix']
  @done_statuses = load_done_statuses(config)
  @source_url = "file://#{File.expand_path(path)}"
  CSV.open(path, headers: true, header_converters: :symbol, encoding: 'bom|UTF-8', row_sep: :auto)
     .then { |csv| load_data(csv.map { |row| apply_jira_header_map(row.to_h) }) }
end