Module: LogStash::StringInterpolation
- Extended by:
- StringInterpolation
- Included in:
- StringInterpolation
- Defined in:
- lib/logstash/string_interpolation.rb
Constant Summary collapse
- MIN_FLOAT_BEFORE_SCI_NOT =
Floats outside of these upper and lower bounds are forcibly converted to scientific notation by Float#to_s
0.0001
- MAX_FLOAT_BEFORE_SCI_NOT =
1000000000000000.0
- CACHE =
ThreadSafe::Cache.new
- TEMPLATE_TAG_REGEXP =
/%\{[^}]+\}/
Instance Method Summary collapse
Instance Method Details
#evaluate(event, template) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/logstash/string_interpolation.rb', line 16 def evaluate(event, template) if template.is_a?(Float) && (template < MIN_FLOAT_BEFORE_SCI_NOT || template >= MAX_FLOAT_BEFORE_SCI_NOT) return ("%.15f" % template).sub(/0*$/,"") end template = template.to_s return template if not_cachable?(template) compiled = CACHE.get_or_default(template, nil) || CACHE.put(template, compile_template(template)) compiled.evaluate(event) end |