Class: PulseMeter::Visualize::DSL::Layout

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

Constant Summary collapse

DEFAULT_TITLE =
"Pulse Meter"
DEFAULT_OUTLIER_COLOR =
"#FF0000"
DEFAULT_HIGHCHART_OPTIONS =
{}

Instance Method Summary collapse

Constructor Details

#initializeLayout

Returns a new instance of Layout.



9
10
11
12
13
14
15
# File 'lib/pulse-meter/visualize/dsl/layout.rb', line 9

def initialize
  @pages = []
  @title = DEFAULT_TITLE
  @use_utc = true
  @outlier_color = DEFAULT_OUTLIER_COLOR
  @highchart_options = DEFAULT_HIGHCHART_OPTIONS.dup
end

Instance Method Details

#highchart_options(options = {}) ⇒ Object



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

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

#outlier_color(color) ⇒ Object



25
26
27
# File 'lib/pulse-meter/visualize/dsl/layout.rb', line 25

def outlier_color(color)
  @outlier_color = color
end

#page(title) {|page| ... } ⇒ Object

Yields:



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

def page(title, &block)
  page = PulseMeter::Visualize::DSL::Page.new(title)
  yield(page)
  @pages << page
end

#title(title) ⇒ Object



17
18
19
# File 'lib/pulse-meter/visualize/dsl/layout.rb', line 17

def title(title)
  @title = title
end

#to_layoutObject



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/pulse-meter/visualize/dsl/layout.rb', line 39

def to_layout
  pages = @pages.map(&:to_page)
  title = @title || ''
  PulseMeter::Visualize::Layout.new( {
    pages: pages,
    title: title,
    use_utc: @use_utc,
    outlier_color: @outlier_color,
    highchart_options: @highchart_options
  } )
end

#use_utc(use = true) ⇒ Object



21
22
23
# File 'lib/pulse-meter/visualize/dsl/layout.rb', line 21

def use_utc(use = true)
  @use_utc = use
end