Class: RubyCharts::Loaders::CSVLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_charts/loaders/csv_loader.rb

Class Method Summary collapse

Class Method Details

.load(filepath, options = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/ruby_charts/loaders/csv_loader.rb', line 6

def self.load(filepath, options = {})
  raise "File not found: #{filepath}" unless File.exist?(filepath)
  
  rows = CSV.read(filepath)
  headers = rows[0]
  data_rows = rows[1..-1]
  
  labels = data_rows.map { |row| row[0] }
  values = data_rows.map { |row| row[1].to_f }
  
  {
    labels: labels,
    values: values,
    type: options[:type] || :bar
  }
end