Class: IRuby::Chartkick::BaseChart

Inherits:
Object
  • Object
show all
Includes:
Chartkick::Helper
Defined in:
lib/iruby/chartkick/base_chart.rb

Constant Summary collapse

ArgumentModifier =
->(args, callee) do
  modified = args.inject({}) do |sum, item|
    item.each do |k, v|
      sum[k] = v
    end
    sum
  end
  modified[:id] = callee.randomized_dom_id
  modified
end

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ BaseChart

Returns a new instance of BaseChart.



18
19
20
# File 'lib/iruby/chartkick/base_chart.rb', line 18

def initialize(data)
  @data = data
end

Instance Method Details

#adapter_javascriptObject



42
43
44
45
# File 'lib/iruby/chartkick/base_chart.rb', line 42

def adapter_javascript
  adapter_js_path = File.join(File.dirname(__FILE__), "..", "..", "..", "vendor", "assets", "javascripts", "google_charts_loader.js")
  File.read(adapter_js_path)
end

#chartkick_javascriptObject



47
48
49
50
# File 'lib/iruby/chartkick/base_chart.rb', line 47

def chartkick_javascript
  chartkick_js_path = File.join(File.dirname(__FILE__), "..", "..", "..", "vendor", "assets", "javascripts", "chartkick.js")
  File.read(chartkick_js_path)
end

#javascriptsObject



35
36
37
38
39
40
# File 'lib/iruby/chartkick/base_chart.rb', line 35

def javascripts
  [
    adapter_javascript,
    chartkick_javascript
  ]
end

#js_prefixObject



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/iruby/chartkick/base_chart.rb', line 22

def js_prefix
  return "" if IRuby::Chartkick.js_loaded?
  IRuby::Chartkick.mark_js_as_loaded

  javascripts.map do |js|
    <<-JS
      <script name="iruby-chartkick-charting-engine-loaders" type="text/javascript">
        #{js}
      </script>
    JS
  end.join("\n")
end

#randomized_dom_idObject



52
53
54
# File 'lib/iruby/chartkick/base_chart.rb', line 52

def randomized_dom_id
  "#{self.class.to_s.downcase.gsub("::", "-")}-#{rand(100000)}"
end