Class: ForestAdminDatasourceCustomizer::DSL::ChartBuilder
- Inherits:
-
Object
- Object
- ForestAdminDatasourceCustomizer::DSL::ChartBuilder
- Defined in:
- lib/forest_admin_datasource_customizer/dsl/builders/chart_builder.rb
Overview
ChartBuilder provides a fluent DSL for building charts
Instance Attribute Summary collapse
-
#context ⇒ Object
readonly
Access the context.
Instance Method Summary collapse
-
#distribution(data) ⇒ Object
Return a distribution chart.
-
#initialize(context, result_builder) ⇒ ChartBuilder
constructor
A new instance of ChartBuilder.
-
#leaderboard(data) ⇒ Object
Return a leaderboard chart.
-
#objective(current, target) ⇒ Object
Return an objective chart.
-
#percentage(value) ⇒ Object
Return a percentage chart.
-
#smart(data) ⇒ Object
Smart chart - automatically detects the best chart type.
-
#time_based(data) ⇒ Object
Return a time-based chart.
-
#value(current, previous = nil) ⇒ Object
Return a simple value chart.
Constructor Details
#initialize(context, result_builder) ⇒ ChartBuilder
Returns a new instance of ChartBuilder.
22 23 24 25 |
# File 'lib/forest_admin_datasource_customizer/dsl/builders/chart_builder.rb', line 22 def initialize(context, result_builder) @context = context @result_builder = result_builder end |
Instance Attribute Details
#context ⇒ Object (readonly)
Access the context
28 29 30 |
# File 'lib/forest_admin_datasource_customizer/dsl/builders/chart_builder.rb', line 28 def context @context end |
Instance Method Details
#distribution(data) ⇒ Object
Return a distribution chart
45 46 47 |
# File 'lib/forest_admin_datasource_customizer/dsl/builders/chart_builder.rb', line 45 def distribution(data) @result_builder.distribution(data) end |
#leaderboard(data) ⇒ Object
Return a leaderboard chart
84 85 86 |
# File 'lib/forest_admin_datasource_customizer/dsl/builders/chart_builder.rb', line 84 def leaderboard(data) @result_builder.leaderboard(data) end |
#objective(current, target) ⇒ Object
Return an objective chart
54 55 56 |
# File 'lib/forest_admin_datasource_customizer/dsl/builders/chart_builder.rb', line 54 def objective(current, target) @result_builder.objective(current, target) end |
#percentage(value) ⇒ Object
Return a percentage chart
62 63 64 |
# File 'lib/forest_admin_datasource_customizer/dsl/builders/chart_builder.rb', line 62 def percentage(value) @result_builder.percentage(value) end |
#smart(data) ⇒ Object
Smart chart - automatically detects the best chart type
93 94 95 |
# File 'lib/forest_admin_datasource_customizer/dsl/builders/chart_builder.rb', line 93 def smart(data) @result_builder.smart(data) end |
#time_based(data) ⇒ Object
Return a time-based chart
73 74 75 |
# File 'lib/forest_admin_datasource_customizer/dsl/builders/chart_builder.rb', line 73 def time_based(data) @result_builder.time_based(data) end |
#value(current, previous = nil) ⇒ Object
Return a simple value chart
33 34 35 36 37 38 39 |
# File 'lib/forest_admin_datasource_customizer/dsl/builders/chart_builder.rb', line 33 def value(current, previous = nil) if previous @result_builder.value(current, previous) else @result_builder.value(current) end end |