Class: Radiosonde::DSL::Context::Alarm

Inherits:
Object
  • Object
show all
Includes:
Validator, TemplateHelper
Defined in:
lib/radiosonde/dsl/context/alarm.rb

Instance Method Summary collapse

Methods included from TemplateHelper

#context, #include_template

Methods included from Validator

#_call_once, #_expected_type, #_identify, #_required, #_validate

Constructor Details

#initialize(context, name, &block) ⇒ Alarm

Returns a new instance of Alarm.



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/radiosonde/dsl/context/alarm.rb', line 5

def initialize(context, name, &block)
  @error_identifier = "Alarm `#{name}`"
  @context = context.merge(:alarm_name => name)
  @result = OpenStruct.new(
    :alarm_name => name,
    :alarm_actions => [],
    :ok_actions => [],
    :insufficient_data_actions => []
  )
  instance_eval(&block)
end

Instance Method Details

#resultObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/radiosonde/dsl/context/alarm.rb', line 17

def result
  [
    :metric_name,
    :period,
    :statistic,
    :threshold,
    :comparison_operator,
    :actions_enabled,
  ].each do |name|
    _required(name, @result[name])
  end

  @result
end