Class: ChartJS::Data

Inherits:
Object
  • Object
show all
Defined in:
lib/chart_js/chart/data.rb,
lib/chart_js/chart/bar_chart/data.rb,
lib/chart_js/chart/line_chart/data.rb,
lib/chart_js/chart/radar_chart/data.rb

Instance Method Summary collapse

Constructor Details

#initializeData

Returns a new instance of Data.



7
8
9
10
# File 'lib/chart_js/chart/data.rb', line 7

def initialize
  @container = Hash.new
  @datasets  = Hash.new
end

Instance Method Details

#build(&block) ⇒ Object



12
13
14
15
# File 'lib/chart_js/chart/data.rb', line 12

def build(&block)
  instance_eval(&block)
  self
end

#dataset(label, &block) ⇒ Object



22
23
24
# File 'lib/chart_js/chart/data.rb', line 22

def dataset(label, &block)
  @datasets[label] = Dataset.new(label, &block)
end

#labels(labels = nil) ⇒ Object



17
18
19
20
# File 'lib/chart_js/chart/data.rb', line 17

def labels(labels = nil)
  raise "Not an array!" unless labels.is_a? Array
  @container['labels'] = labels
end

#to_hObject



26
27
28
29
30
31
32
33
# File 'lib/chart_js/chart/data.rb', line 26

def to_h
  cont = @container.dup
  cont['datasets'] = []
  @datasets.each do |_, data|
    cont['datasets'] << data.to_h
  end
  cont
end