class Monosasi::DSL::Context::Rule

Attributes

result[R]

Public Class Methods

new(context, name, &block) click to toggle source
# File lib/monosasi/dsl/context/rule.rb, line 4
def initialize(context, name, &block)
  @name = name
  @context = context.merge(rule_name: name)
  @result = {:targets => {}}
  instance_eval(&block)
end

Private Instance Methods

description(value) click to toggle source
# File lib/monosasi/dsl/context/rule.rb, line 19
def description(value)
  @result[:description] = value.to_s
end
event_pattern() { || ... } click to toggle source
# File lib/monosasi/dsl/context/rule.rb, line 27
def event_pattern
  value = yield

  unless value.is_a?(Hash)
    raise TypeError, "wrong expand_path type (given #{value.inspect}:#{value.class}, expected Hash)"
  end

  @result[:event_pattern] = value
end
schedule_expression(value) click to toggle source
# File lib/monosasi/dsl/context/rule.rb, line 23
def schedule_expression(value)
  @result[:schedule_expression] = value.to_s
end
state(value) click to toggle source
# File lib/monosasi/dsl/context/rule.rb, line 15
def state(value)
  @result[:state] = value.to_s
end
target(id, &block) click to toggle source
# File lib/monosasi/dsl/context/rule.rb, line 37
def target(id, &block)
  id = id.to_s
  @result[:targets][id] = Monosasi::DSL::Context::Rule::Target.new(@context, id, &block).result
end