Class: LogStash::Filters::Dictionary::StreamingYamlDictParser
- Inherits:
-
Object
- Object
- LogStash::Filters::Dictionary::StreamingYamlDictParser
- Defined in:
- lib/logstash/filters/dictionary/streaming_yaml_parser.rb
Instance Method Summary collapse
- #each_pair ⇒ Object
-
#initialize(filename, yaml_code_point_limit) ⇒ StreamingYamlDictParser
constructor
A new instance of StreamingYamlDictParser.
- #snakeYamlEngineV2 ⇒ Object
- #snakeYamlEngineV2Events ⇒ Object
Constructor Details
#initialize(filename, yaml_code_point_limit) ⇒ StreamingYamlDictParser
Returns a new instance of StreamingYamlDictParser.
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/logstash/filters/dictionary/streaming_yaml_parser.rb', line 11 def initialize(filename, yaml_code_point_limit) settings = snakeYamlEngineV2.api.LoadSettings.builder .set_code_point_limit(yaml_code_point_limit) .build stream = Java::java.io.FileInputStream.new(filename) reader = Java::java.io.InputStreamReader.new(stream, Java::java.nio.charset.StandardCharsets::UTF_8) stream_reader = snakeYamlEngineV2.scanner.StreamReader.new(reader, settings) @parser = snakeYamlEngineV2.parser.ParserImpl.new(stream_reader, settings) skip_until(snakeYamlEngineV2Events.MappingStartEvent) end |
Instance Method Details
#each_pair ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/logstash/filters/dictionary/streaming_yaml_parser.rb', line 26 def each_pair while peek_event && !peek_event.is_a?(snakeYamlEngineV2Events.MappingEndEvent) key = parse_node value = parse_node yield(key, value) end end |
#snakeYamlEngineV2 ⇒ Object
3 4 5 |
# File 'lib/logstash/filters/dictionary/streaming_yaml_parser.rb', line 3 def snakeYamlEngineV2 Java::org.snakeyaml.engine.v2 end |
#snakeYamlEngineV2Events ⇒ Object
7 8 9 |
# File 'lib/logstash/filters/dictionary/streaming_yaml_parser.rb', line 7 def snakeYamlEngineV2Events snakeYamlEngineV2.events end |