Class: Compendium::AbstractChartProvider

Inherits:
Object
  • Object
show all
Defined in:
lib/compendium/abstract_chart_provider.rb

Overview

Abstract wrapper for rendering charts To add a new chart provider, #initialize and #render must be implemented Custom providers should also override Compendium::AbstractChartProvider.find_chart_provider (but fallback to super)

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type, data_or_url, params = {}, &setup_proc) ⇒ AbstractChartProvider

Returns a new instance of AbstractChartProvider.

Parameters:

  • type (Symbol)

    The type of chart you want to render (:pie, :line, etc). Accepted types might vary by provider.

  • data_or_url (Enumerable or String)

    The data or URL to the data you wish to render. Providers may not support loading data remotely.

  • params (Hash) (defaults to: {})

    If data_or_url is a URL, the params to use for the AJAX request

Raises:

  • (NotImplementedError)


16
17
18
# File 'lib/compendium/abstract_chart_provider.rb', line 16

def initialize(type, data_or_url, params = {}, &setup_proc)
  raise NotImplementedError
end

Instance Attribute Details

#chartObject (readonly)

Returns the value of attribute chart.



9
10
11
# File 'lib/compendium/abstract_chart_provider.rb', line 9

def chart
  @chart
end

Class Method Details

.find_chart_providerObject

Chart providers need to override this method to add a hook for themselves



25
26
27
# File 'lib/compendium/abstract_chart_provider.rb', line 25

def self.find_chart_provider
  nil
end

Instance Method Details

#render(template, container) ⇒ Object

Raises:

  • (NotImplementedError)


20
21
22
# File 'lib/compendium/abstract_chart_provider.rb', line 20

def render(template, container)
  raise NotImplementedError
end