Module: Rorschart::GoogleChart::Mapper

Included in:
Helper
Defined in:
lib/rorschart/google_chart_mapper.rb

Instance Method Summary collapse

Instance Method Details

#add_rows(rows) ⇒ Object



29
30
31
32
33
34
35
36
37
# File 'lib/rorschart/google_chart_mapper.rb', line 29

def add_rows(rows)
  rows.map{|row|
    {"c" => 
      row.map{|col|
        {"v" => col}
      }
    }
  }
end

#chart_class_from_string(klass_symbol) ⇒ Object



39
40
41
# File 'lib/rorschart/google_chart_mapper.rb', line 39

def chart_class_from_string(klass_symbol)
  "google.visualization." + klass_symbol.to_s
end

#format_if_needed(data_source) ⇒ Object



7
8
9
# File 'lib/rorschart/google_chart_mapper.rb', line 7

def format_if_needed(data_source)
  data_source.is_a?(String) ? data_source : to_datatable_format(data_source)
end

#is_already_converted?(data) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/rorschart/google_chart_mapper.rb', line 25

def is_already_converted?(data)
  (data.class == Hash) and (data.keys == ["cols", "rows"])
end

#to_datatable_format(data) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/rorschart/google_chart_mapper.rb', line 11

def to_datatable_format(data)

  return data if is_already_converted? data

  if (data.is_a? RorschartData)
    r_data = data
  else
    r_data = RorschartData.new(data)
    r_data.sort_by_date!
  end

  return  {cols: r_data.cols, rows: add_rows(r_data.rows) }
end