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

#javascriptObject



33
34
35
36
# File 'lib/iruby/chartkick/base_chart.rb', line 33

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

#js_prefixObject



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

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

  <<-JS
    <script name="iruby-chartkick-charting-engine-loaders" type="text/javascript">
      #{javascript}
    </script>
  JS
end

#randomized_dom_idObject



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

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