lib/chartkick.rb in chartkick-3.4.0 vs lib/chartkick.rb in chartkick-3.4.1
- old
+ new
@@ -1,5 +1,7 @@
+# modules
+require "chartkick/enumerable"
require "chartkick/helper"
require "chartkick/version"
# integrations
require "chartkick/engine" if defined?(Rails)
@@ -15,32 +17,6 @@
class << self
attr_accessor :content_for
attr_accessor :options
end
self.options = {}
-end
-
-# for multiple series
-# use Enumerable so it can be called on arrays
-module Enumerable
- 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
end