Class: Meteorlog::DSL::Context::LogGroup
- Inherits:
-
Object
- Object
- Meteorlog::DSL::Context::LogGroup
- Includes:
- Validator, TemplateHelper
- Defined in:
- lib/meteorlog/dsl/context/log_group.rb
Instance Attribute Summary collapse
-
#result ⇒ Object
readonly
Returns the value of attribute result.
Instance Method Summary collapse
- #any_log_streams ⇒ Object
-
#initialize(name, &block) ⇒ LogGroup
constructor
A new instance of LogGroup.
- #log_stream(name) ⇒ Object
- #metric_filter(name, &block) ⇒ Object
Methods included from TemplateHelper
Methods included from Validator
#_call_once, #_expected_length, #_expected_type, #_identify, #_required, #_validate
Constructor Details
#initialize(name, &block) ⇒ LogGroup
Returns a new instance of LogGroup.
7 8 9 10 11 12 13 14 15 |
# 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 |
Instance Attribute Details
#result ⇒ Object (readonly)
Returns the value of attribute result.
5 6 7 |
# File 'lib/meteorlog/dsl/context/log_group.rb', line 5 def result @result end |
Instance Method Details
#any_log_streams ⇒ Object
17 18 19 20 |
# 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) ⇒ Object
22 23 24 25 26 27 28 29 |
# 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) ⇒ Object
31 32 33 34 35 36 37 38 |
# 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 |