class Fluent::StringIrcSlackFilter
Constants
- BOLD
- CLEAR
- COLOR_CODE
- INVERSE
- UNDERLINE
Public Instance Methods
configure(conf)
click to toggle source
Calls superclass method
# File lib/fluent/plugin/filter_string_irc_slack.rb, line 13 def configure(conf) @start_code = Regexp.new("(#{COLOR_CODE}[0-9]?[0-9](,[0-9]?[0-9])?|#{BOLD}|#{UNDERLINE}|#{INVERSE})+") @stop_code = Regexp.new(CLEAR) super end
filter(tag, time, record)
click to toggle source
# File lib/fluent/plugin/filter_string_irc_slack.rb, line 27 def filter(tag, time, record) if message = record['message'] filtered_message = with_scrub(message) {|str| str.gsub(@start_code, '`').gsub(@stop_code, '`') } record = record.dup.tap {|r| r['message'] = filtered_message } end record end
shutdown()
click to toggle source
Calls superclass method
# File lib/fluent/plugin/filter_string_irc_slack.rb, line 23 def shutdown super end
start()
click to toggle source
Calls superclass method
# File lib/fluent/plugin/filter_string_irc_slack.rb, line 19 def start super end
with_scrub(string) { |string| ... }
click to toggle source
# File lib/fluent/plugin/filter_string_irc_slack.rb, line 35 def with_scrub(string) begin return yield(string) rescue ArgumentError => e raise e unless e.message.index("invalid byte sequence in") == 0 log.info "filter_string_irc_slack: invalid byte sequence is replaced in #{string}" string.scrub!('?') retry end end