Class: Trevl::Notebook
- Inherits:
-
Object
- Object
- Trevl::Notebook
- Defined in:
- lib/trevl/notebook.rb,
lib/trevl/notebook/display.rb
Defined Under Namespace
Classes: Display
Instance Attribute Summary collapse
-
#display ⇒ Object
readonly
Returns the value of attribute display.
Instance Method Summary collapse
-
#chart(yaml_string, params: {}, data: nil, height: 400) ⇒ Object
Render a TREVL YAML string as an interactive Highcharts chart in iRuby.
-
#fetch(source_name, endpoint, params = {}, resource: nil) ⇒ Object
Fetch raw data from a registered data source.
-
#initialize ⇒ Notebook
constructor
A new instance of Notebook.
-
#score(yaml_string, params: {}, data: nil) ⇒ Object
Render a score component inline.
Constructor Details
Instance Attribute Details
#display ⇒ Object (readonly)
Returns the value of attribute display.
7 8 9 |
# File 'lib/trevl/notebook.rb', line 7 def display @display end |
Instance Method Details
#chart(yaml_string, params: {}, data: nil, height: 400) ⇒ Object
Render a TREVL YAML string as an interactive Highcharts chart in iRuby. Optionally pass static data to avoid API calls — inline data answers any api name and components without one (Trevl.render data: semantics).
16 17 18 19 20 21 22 23 |
# File 'lib/trevl/notebook.rb', line 16 def chart(yaml_string, params: {}, data: nil, height: 400) results = Trevl.render(yaml_string, params: params, data: data) results.each do |result| next unless result["type"] == "chart" && result["highchartsData"] @display.render_chart(result["highchartsData"], height: height) end nil end |
#fetch(source_name, endpoint, params = {}, resource: nil) ⇒ Object
Fetch raw data from a registered data source
36 37 38 39 |
# File 'lib/trevl/notebook.rb', line 36 def fetch(source_name, endpoint, params = {}, resource: nil) source = DataSource.for(source_name) source.fetch(endpoint, params, resource: resource) end |
#score(yaml_string, params: {}, data: nil) ⇒ Object
Render a score component inline
26 27 28 29 30 31 32 33 |
# File 'lib/trevl/notebook.rb', line 26 def score(yaml_string, params: {}, data: nil) results = Trevl.render(yaml_string, params: params, data: data) results.each do |result| next unless result["type"] == "score" @display.render_score(result["display"] || result) end nil end |