Sha256: 883918063f265d1bbc44ed8d9e20f40dbeee49f95f795411a6723070a34f3db2

Contents?: true

Size: 621 Bytes

Versions: 18

Compression:

Stored size: 621 Bytes

Contents

require_relative "dataset.rb"

module ChartJS

  class Data

    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
      cont = @container.dup
      cont['datasets'] = []
      @datasets.each do |_, data|
        cont['datasets'] << data.to_h
      end
      cont
    end

  end

end

Version data entries

18 entries across 5 versions & 1 rubygems

Version Path
chart_js-1.1.1 lib/chart_js/chart/bar_chart/data.rb
chart_js-1.1.1 lib/chart_js/chart/radar_chart/data.rb
chart_js-1.1.1 lib/chart_js/chart/line_chart/data.rb
chart_js-1.1.0 lib/chart_js/chart/radar_chart/data.rb
chart_js-1.1.0 lib/chart_js/chart/line_chart/data.rb
chart_js-1.1.0 lib/chart_js/chart/bar_chart/data.rb
chart_js-1.0.0 lib/chart_js/chart/bar_chart/data.rb
chart_js-1.0.0 lib/chart_js/chart/data.rb
chart_js-1.0.0 lib/chart_js/chart/line_chart/data.rb
chart_js-1.0.0 lib/chart_js/chart/radar_chart/data.rb
chart_js-1.0.1pre lib/chart_js/chart/line_chart/data.rb
chart_js-1.0.1pre lib/chart_js/chart/radar_chart/data.rb
chart_js-1.0.1pre lib/chart_js/chart/data.rb
chart_js-1.0.1pre lib/chart_js/chart/bar_chart/data.rb
chart_js-1.0.0pre lib/chart_js/chart/radar_chart/data.rb
chart_js-1.0.0pre lib/chart_js/chart/line_chart/data.rb
chart_js-1.0.0pre lib/chart_js/chart/data.rb
chart_js-1.0.0pre lib/chart_js/chart/bar_chart/data.rb