Module: LogStash::Config::Mixin

Included in:
Inputs::Base
Defined in:
lib/logstash/config/mixin.rb

Defined Under Namespace

Modules: DSL

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object

This method is called when someone does ‘include LogStash::Config’



5
6
7
8
# File 'lib/logstash/config/mixin.rb', line 5

def self.included(base)
  # Add the DSL methods to the 'base' given.
  base.extend(LogStash::Config::Mixin::DSL)
end

Instance Method Details

#config_init(params) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/logstash/config/mixin.rb', line 10

def config_init(params)
  # Set defaults from 'config :foo, :default => somevalue'
  defaults = Hash.new
  self.class.get_config.each do |name, opts|
    if opts.include?(:default)
      # Clone the default values if possible
      case opts[:default]
        when FalseClass, TrueClass, NilClass, Numeric
          defaults[name] = opts[:default]
        else
          defaults[name] = opts[:default].clone
      end
    end
  end
  params = defaults.merge(params)
  params.each do |key, value|
    instance_variable_set("@#{key}", value)
  end
  @config = params
end