Module: Enumerable
- Defined in:
- lib/chartkick/enumerable.rb
Overview
for both multiple series and making sure hash order is preserved in JavaScript
Instance Method Summary collapse
Instance Method Details
#chart_json ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/chartkick/enumerable.rb', line 4 def chart_json if is_a?(Hash) if (key = keys.first) && key.is_a?(Array) && key.size == 2 group_by { |k, _v| k[0] }.map do |name, data| {name: name, data: data.map { |k, v| [k[1], v] }} end else to_a end elsif is_a?(Array) map do |v| if v.is_a?(Hash) && v[:data].is_a?(Hash) v = v.dup v[:data] = v[:data].to_a end v end else self end.to_json end |