class Meteorlog::DSL::Context::LogGroup

Attributes

result[R]

Public Class Methods

new(name, &block) click to toggle source
# File lib/meteorlog/dsl/context/log_group.rb, line 7
def initialize(name, &block)
  @error_identifier = "LogGroup `#{name}`"
  @result = OpenStruct.new(
    :log_group_name => name,
    :log_streams => [],
    :metric_filters => [],
  )
  instance_eval(&block)
end

Public Instance Methods

any_log_streams() click to toggle source
# File lib/meteorlog/dsl/context/log_group.rb, line 17
def any_log_streams
  _call_once(:any_log_streams)
  @result.any_log_streams = true
end
log_stream(name) click to toggle source
# File lib/meteorlog/dsl/context/log_group.rb, line 22
def log_stream(name)
  _required(:log_stream_name, name)
  _validate("LogStream `#{name}` is already defined") do
    @result.log_streams.all? {|i| i.log_stream_name != name }
  end

  @result.log_streams << OpenStruct.new(:log_stream_name => name)
end
metric_filter(name, &block) click to toggle source
# File lib/meteorlog/dsl/context/log_group.rb, line 31
def metric_filter(name, &block)
  _required(:filter_name, name)
  _validate("MetricFilter `#{name}` is already defined") do
    @result.metric_filters.all? {|i| i.filter_name != name }
  end

  @result.metric_filters << Meteorlog::DSL::Context::MetricFilter.new(name, @result.log_group_name, &block).result
end