Module: LogStash::Config::AST

Defined in:
lib/logstash/config/config_ast.rb

Defined Under Namespace

Modules: BooleanOperator, ComparisonExpression, ComparisonOperator, Expression, InExpression, NegativeExpression, NotInExpression, RegExpOperator, Unicode Classes: Array, Attribute, Bareword, Branch, BranchEntry, BranchOrPlugin, Comment, Condition, Config, Else, Elsif, Hash, HashEntries, HashEntry, If, MethodCall, Name, Node, Number, Plugin, PluginSection, Plugins, RValue, RegExp, RegexpExpression, Selector, SelectorElement, String, Value, Whitespace

Constant Summary collapse

PROCESS_ESCAPE_SEQUENCES =
:process_escape_sequences
MUTEX =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Mutex.new

Class Method Summary collapse

Class Method Details

.deferred_conditionalsObject



28
29
30
31
# File 'lib/logstash/config/config_ast.rb', line 28

def deferred_conditionals
  ensure_exclusive!
  @deferred_conditionals
end

.deferred_conditionals=(val) ⇒ Object



23
24
25
26
# File 'lib/logstash/config/config_ast.rb', line 23

def deferred_conditionals=(val)
  ensure_exclusive!
  @deferred_conditionals = val
end

.deferred_conditionals_indexObject



33
34
35
36
# File 'lib/logstash/config/config_ast.rb', line 33

def deferred_conditionals_index
  ensure_exclusive!
  @deferred_conditionals_index
end

.deferred_conditionals_index=(val) ⇒ Object



38
39
40
41
# File 'lib/logstash/config/config_ast.rb', line 38

def deferred_conditionals_index=(val)
  ensure_exclusive!
  @deferred_conditionals_index = val
end

.exclusiveObject

Executes the given block with exclusive access to the AST global variables

Yield Returns:

  • (Object)

    : the object that is returned from the block is returned by this method

Returns:

  • (Object)


19
20
21
# File 'lib/logstash/config/config_ast.rb', line 19

def exclusive
  MUTEX.synchronize { yield }
end

.plugin_instance_indexObject



43
44
45
46
# File 'lib/logstash/config/config_ast.rb', line 43

def plugin_instance_index
  ensure_exclusive!
  @plugin_instance_index
end

.plugin_instance_index=(val) ⇒ Object



48
49
50
51
# File 'lib/logstash/config/config_ast.rb', line 48

def plugin_instance_index=(val)
  ensure_exclusive!
  @plugin_instance_index = val
end