class Meteorlog::DSL::Context
Attributes
result[R]
Public Class Methods
eval(dsl, path, opts = {})
click to toggle source
# File lib/meteorlog/dsl/context.rb, line 6 def eval(dsl, path, opts = {}) self.new(path, opts) { eval(dsl, binding, path) } end
new(path, options = {}, &block)
click to toggle source
# File lib/meteorlog/dsl/context.rb, line 15 def initialize(path, options = {}, &block) @path = path @options = options @result = OpenStruct.new(:log_groups => []) @log_group_names = [] instance_eval(&block) end
Private Instance Methods
log_group(name, &block)
click to toggle source
# File lib/meteorlog/dsl/context.rb, line 41 def log_group(name, &block) _required(:log_group_name, name) _validate("LogGroup `#{name}` is already defined") do not @log_group_names.include?(name) end @result.log_groups << Meteorlog::DSL::Context::LogGroup.new(name, &block).result @log_group_names << name end
require(file)
click to toggle source
# File lib/meteorlog/dsl/context.rb, line 29 def require(file) logsfile = (file =~ %r|\A/|) ? file : File.expand_path(File.join(File.dirname(@path), file)) if File.exist?(logsfile) instance_eval(File.read(logsfile), logsfile) elsif File.exist?(logsfile + '.rb') instance_eval(File.read(logsfile + '.rb'), logsfile + '.rb') else Kernel.require(file) end end
template(name, &block)
click to toggle source
# File lib/meteorlog/dsl/context.rb, line 25 def template(name, &block) @context.templates[name.to_s] = block end