Class: Fluent::LinetrimerFilter
- Inherits:
-
Filter
- Object
- Filter
- Fluent::LinetrimerFilter
- Defined in:
- lib/fluent/plugin/filter_linetrimer.rb
Instance Method Summary collapse
- #configure(conf) ⇒ Object
- #filter(tag, time, record) ⇒ Object
-
#initialize ⇒ LinetrimerFilter
constructor
A new instance of LinetrimerFilter.
- #trim(string, num) ⇒ Object
Constructor Details
#initialize ⇒ LinetrimerFilter
Returns a new instance of LinetrimerFilter.
8 9 10 11 |
# File 'lib/fluent/plugin/filter_linetrimer.rb', line 8 def initialize require 'string/scrub' if RUBY_VERSION.to_f < 2.1 super end |
Instance Method Details
#configure(conf) ⇒ Object
13 14 15 |
# File 'lib/fluent/plugin/filter_linetrimer.rb', line 13 def configure(conf) super end |
#filter(tag, time, record) ⇒ Object
17 18 19 20 21 |
# File 'lib/fluent/plugin/filter_linetrimer.rb', line 17 def filter(tag, time, record) return record unless record[key] record[key] = trim(record[key], num) record end |
#trim(string, num) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/fluent/plugin/filter_linetrimer.rb', line 23 def trim(string, num) begin string.split("\n")[0...num].join("\n") rescue ArgumentError => e raise e unless e..index("invalid byte sequence in") == 0 string.scrub!('?') retry end end |