Class: Suricate::WidgetConfigurationsBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/suricate/configuration/widget_configurations_builder.rb

Defined Under Namespace

Classes: IDAlreadyUsedError

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(template_repository) ⇒ WidgetConfigurationsBuilder

Returns a new instance of WidgetConfigurationsBuilder.



7
8
9
10
# File 'lib/suricate/configuration/widget_configurations_builder.rb', line 7

def initialize(template_repository)
  @template_repository = template_repository
  @configurations      = []
end

Instance Attribute Details

#configurationsObject (readonly)

Returns the value of attribute configurations.



5
6
7
# File 'lib/suricate/configuration/widget_configurations_builder.rb', line 5

def configurations
  @configurations
end

Instance Method Details

#counter(id, collector, options = {}) ⇒ Object



12
13
14
# File 'lib/suricate/configuration/widget_configurations_builder.rb', line 12

def counter(id, collector, options = {})
  register(id, CounterWidget, collector, options)
end

#line_chart(id, collector, options = {}) ⇒ Object



16
17
18
# File 'lib/suricate/configuration/widget_configurations_builder.rb', line 16

def line_chart(id, collector, options = {})
  register(id, LineChartWidget, collector, options)
end

#register(id, klass, collector, options = {}) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/suricate/configuration/widget_configurations_builder.rb', line 24

def register(id, klass, collector, options = {})
  id = id.to_sym
  if find_with_id(id)
    raise IDAlreadyUsedError.new("id \"#{id}\" already taken")
  else
    configuration   = build_configuration(id, klass, collector, options)
    @configurations << configuration
  end
end

#status(id, collector, options = {}) ⇒ Object



20
21
22
# File 'lib/suricate/configuration/widget_configurations_builder.rb', line 20

def status(id, collector, options = {})
  register(id, StatusWidget, collector, options)
end