Sha256: c95797c1366cf92a12cc37509646affac18f1d28a34fc7852851b9714a33da39
Contents?: true
Size: 1.29 KB
Versions: 2
Compression:
Stored size: 1.29 KB
Contents
require_relative "dataset.rb" require_relative "helpers/dates.rb" module ChartJS class Data include Helpers::Dates def initialize @container = Hash.new @datasets = Hash.new end def build(&block) instance_eval(&block) self end def labels(labels = nil) raise "Not an array!" unless labels.is_a? Array @container['labels'] = labels end def dataset(label, &block) @datasets[label] = Dataset.new(label, &block) end def to_h(type) case type when :pie @container @container['labels'] = Array.new @container['datasets'] = Array.new @container['datasets'] << Hash.new @datasets.each do |label, data| @container['labels'] << label data.to_h.each do |key, value| if @container['datasets'][0][key].is_a? Array @container['datasets'][0][key] << value else @container['datasets'][0][key] = Array.new @container['datasets'][0][key] << value end end end @container else cont = @container.dup cont['datasets'] = [] @datasets.each do |_, data| cont['datasets'] << data.to_h end cont end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
chart_js-1.1.1 | lib/chart_js/chart/data.rb |
chart_js-1.1.0 | lib/chart_js/chart/data.rb |