Class: PulseMeter::Visualize::DSL::Page

Inherits:
Object
  • Object
show all
Defined in:
lib/pulse-meter/visualize/dsl/page.rb

Instance Method Summary collapse

Constructor Details

#initialize(title = nil) ⇒ Page

Returns a new instance of Page.



8
9
10
11
12
# File 'lib/pulse-meter/visualize/dsl/page.rb', line 8

def initialize(title = nil)
  @title = title || ""
  @widgets = []
  @highchart_options = DEFAULT_HIGHCHART_OPTIONS.dup
end

Instance Method Details

#highchart_options(options = {}) ⇒ Object



33
34
35
# File 'lib/pulse-meter/visualize/dsl/page.rb', line 33

def highchart_options(options = {})
  @highchart_options.merge!(options)
end

#title(new_title) ⇒ Object



29
30
31
# File 'lib/pulse-meter/visualize/dsl/page.rb', line 29

def title(new_title)
  @title = new_title || ''
end

#to_pageObject



37
38
39
40
41
42
43
44
# File 'lib/pulse-meter/visualize/dsl/page.rb', line 37

def to_page
  args = {
    title: @title,
    widgets: @widgets.map(&:to_widget),
    highchart_options: @highchart_options
  }
  PulseMeter::Visualize::Page.new(args)
end

#widget(type, title = '', widget_args = nil) {|w| ... } ⇒ Object

Yields:

  • (w)


14
15
16
17
18
19
# File 'lib/pulse-meter/visualize/dsl/page.rb', line 14

def widget(type, title = '', widget_args = nil, &block) 
  w = PulseMeter::Visualize::DSL::Widget.new(type, title)
  w.process_args(widget_args) if widget_args
  yield(w) if block_given?
  @widgets << w
end