fluent-plugin-filter-list 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c163b0f7d168334069d8bc723d9e73ac4c660d0a
4
- data.tar.gz: 5e21a35184419bacd65223f9e586a66fc91cdac7
3
+ metadata.gz: d59e0c9511bee9b07d913940698e10474ff94f71
4
+ data.tar.gz: b40e7e4c5831ccdce088917b3bd3609cbbf83f2b
5
5
  SHA512:
6
- metadata.gz: 17d90e1e42ccb07028e7380382827fb297f25ae7c4de7d8ee523da86f1e65e90c161a1c696585220366e76ec92a8f7fd758fceda6329e3fadecf19a0a2595f08
7
- data.tar.gz: b47dee18b5ed637d33b914e7d729f640598253bd2c6a197f0c1eef2131811c420478bbce4e1293523bac747da222a5c7dade5f7e5a3bd1a96f34454ce897590e
6
+ metadata.gz: d83ac5416fd197ea9c556174eebc306441edc3ebe45d4b3b156c3eabe4b3db6da5efd8f3d1f284ed5c84c97980bb40e38be62448e1e013907514bbedc1d6719e
7
+ data.tar.gz: 6b8fd6b97f2f30fbc98e5d95056fe56e9bb2558f353039af335cba9f090183fa7ef05c756406992f8f3ebe79d40578ce4309c35ce51754b67ce9a893d9ab246a
data/.rubocop.yml ADDED
@@ -0,0 +1,44 @@
1
+ Metrics/LineLength:
2
+ Max: 160
3
+ Style/StringLiterals:
4
+ Enabled: false
5
+ Metrics/MethodLength:
6
+ Max: 15
7
+ Style/Documentation:
8
+ Enabled: false
9
+ Style/FrozenStringLiteralComment:
10
+ Enabled: false
11
+ Style/MutableConstant:
12
+ Enabled: false
13
+ Metrics/AbcSize:
14
+ Max: 25
15
+ Metrics/BlockLength:
16
+ Exclude:
17
+ - 'Rakefile'
18
+ - '**/*.rake'
19
+ - 'spec/**/*.rb'
20
+ - 'Gemfile'
21
+ - 'Guardfile'
22
+ - 'config/routes.rb'
23
+ - 'config/routes/**/*.rb'
24
+ - '*.gemspec'
25
+ Metrics/CyclomaticComplexity:
26
+ Max: 10
27
+ Metrics/PerceivedComplexity:
28
+ Max: 10
29
+ Style/GlobalVars:
30
+ Exclude:
31
+ - 'test/test_helper.rb'
32
+ Style/MethodMissing:
33
+ Exclude:
34
+ - 'test/test_helper.rb'
35
+ Style/TernaryParentheses:
36
+ Enabled: false
37
+ Style/BlockDelimiters:
38
+ AutoCorrect: false
39
+ Style/BlockDelimiters:
40
+ AutoCorrect: false
41
+ Style/BracesAroundHashParameters:
42
+ Enabled: false
43
+ Layout/IndentHash:
44
+ EnforcedStyle: consistent
data/.travis.yml CHANGED
@@ -3,4 +3,9 @@ rvm:
3
3
  - 2.2.4
4
4
  - 2.3.3
5
5
  - 2.4.1
6
- before_install: gem update bundler
6
+ before_install:
7
+ - gem update --remote bundler
8
+ - gem update --system
9
+ - gem install rubocop
10
+ script:
11
+ - bundle exec rake
data/Gemfile CHANGED
@@ -1,4 +1,7 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in fluent-plugin-out_filter_list.gemspec
4
4
  gemspec
5
+
6
+ # Added at 2017-08-14 19:47:59 +0900 by 5hun:
7
+ gem 'rubocop', '~> 0.49.1', group: [:development]
data/Rakefile CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rake/testtask'
3
+ require 'rubocop/rake_task'
3
4
 
4
5
  Rake::TestTask.new(:test) do |t|
5
6
  t.libs << 'test' << 'lib'
@@ -7,4 +8,6 @@ Rake::TestTask.new(:test) do |t|
7
8
  t.verbose = true
8
9
  end
9
10
 
10
- task :default => :test
11
+ RuboCop::RakeTask.new
12
+
13
+ task default: %w[rubocop test]
@@ -1,29 +1,31 @@
1
1
  # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+
3
5
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "fluent/plugin/out_filter_list/version"
6
+ require 'fluent/plugin/out_filter_list/version'
5
7
 
6
8
  Gem::Specification.new do |spec|
7
- spec.name = "fluent-plugin-filter-list"
9
+ spec.name = 'fluent-plugin-filter-list'
8
10
  spec.version = Fluent::OutFilterList::VERSION
9
- spec.authors = ["Shun Yanaura"]
10
- spec.email = ["metroplexity@gmail.com"]
11
+ spec.authors = ['Shun Yanaura']
12
+ spec.email = ['metroplexity@gmail.com']
11
13
 
12
- spec.summary = %q{A fluentd output plugin to filter keywords from messages}
13
- spec.description = %q{A fluentd output plugin to filter keywords from messages}
14
- spec.homepage = "https://github.com/yanana/fluent-plugin-filter-list"
15
- spec.license = "MIT"
14
+ spec.summary = 'A fluentd output plugin to filter keywords from messages'
15
+ spec.description = 'A fluentd output plugin to filter keywords from messages'
16
+ spec.homepage = 'https://github.com/yanana/fluent-plugin-filter-list'
17
+ spec.license = 'MIT'
16
18
 
17
19
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
20
  f.match(%r{^(test|spec|features)/})
19
21
  end
20
- spec.bindir = "exe"
22
+ spec.bindir = 'exe'
21
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
- spec.require_paths = ["lib"]
24
+ spec.require_paths = ['lib']
23
25
 
24
- spec.add_development_dependency "bundler", "~> 1.15"
25
- spec.add_development_dependency "rake", "~> 12.0"
26
- spec.add_development_dependency "minitest", "~> 5.0"
27
- spec.add_development_dependency "test-unit", "~> 3.2"
28
- spec.add_runtime_dependency "fluentd", "~> 0.12", ">= 0.12.0"
26
+ spec.add_development_dependency 'bundler', '~> 1.15'
27
+ spec.add_development_dependency 'rake', '~> 12.0'
28
+ spec.add_development_dependency 'minitest', '~> 5.0'
29
+ spec.add_development_dependency 'test-unit', '~> 3.2'
30
+ spec.add_runtime_dependency 'fluentd', '~> 0.12', '>= 0.12.0'
29
31
  end
data/lib/aho_corasick.rb CHANGED
@@ -7,9 +7,9 @@ module Matchers
7
7
  @trie = Trie.new patterns
8
8
  end
9
9
 
10
- def matches?(str)
10
+ def matches?(text)
11
11
  node = @trie.root
12
- str.split('').each do |char|
12
+ text.to_s.split('').each do |char|
13
13
  node = node.failure while node.children[char].nil? # Follow failure if it exists in case pattern doesn't match
14
14
  node = node.children[char]
15
15
  return true unless node.output.nil?
@@ -33,9 +33,7 @@ module Matchers
33
33
  current_node = @root
34
34
  pattern.split('').each_with_index do |char, i|
35
35
  current_node = current_node.insert(char)
36
- if i == pattern.length - 1
37
- current_node.output = pattern
38
- end
36
+ current_node.output = pattern if i == pattern.length - 1
39
37
  end
40
38
  end
41
39
 
@@ -7,8 +7,8 @@ module Fluent
7
7
 
8
8
  Plugin.register_filter('filter_list', self)
9
9
 
10
- config_param :key_to_filter, :string, :default => nil
11
- config_param :patterns_file_path, :string, :default => ''
10
+ config_param :key_to_filter, :string, default: nil
11
+ config_param :patterns_file_path, :string, default: ''
12
12
 
13
13
  def configure(conf)
14
14
  super
@@ -18,7 +18,8 @@ module Fluent
18
18
 
19
19
  def filter(_tag, _time, record)
20
20
  target = record[@key_to_filter]
21
- target && @matcher.matches?(target) ? nil : record
21
+ return nil if target && @matcher.matches?(target)
22
+ record
22
23
  end
23
24
  end
24
25
  end
@@ -7,17 +7,17 @@ module Fluent
7
7
 
8
8
  Plugin.register_output('filter_list', self)
9
9
 
10
- config_param :key_to_filter, :string, :default => nil
11
- config_param :patterns_file_path, :string, :default => ''
10
+ config_param :key_to_filter, :string, default: nil
11
+ config_param :patterns_file_path, :string, default: ''
12
12
 
13
13
  config_section :retag, required: true, multi: false do
14
- config_param :tag, :string, :default => nil
15
- config_param :add_prefix, :string, :default => nil
14
+ config_param :tag, :string, default: nil
15
+ config_param :add_prefix, :string, default: nil
16
16
  end
17
17
 
18
18
  config_section :retag_filtered, param_name: :retag_for_filtered, required: false, multi: false do
19
- config_param :tag, :string, :default => nil
20
- config_param :add_prefix, :string, :default => nil
19
+ config_param :tag, :string, default: nil
20
+ config_param :add_prefix, :string, default: nil
21
21
  end
22
22
 
23
23
  def initialize
@@ -25,15 +25,15 @@ module Fluent
25
25
  end
26
26
 
27
27
  def validate(retag)
28
- if !retag
29
- return
30
- end
31
- if !(retag.tag || retag.add_prefix)
32
- raise Fluent::ConfigError, "missing tag and add_prefix"
33
- end
34
- if retag.tag && retag.add_prefix
35
- raise Fluent::ConfigError, "tag and add_prefix are mutually exclusive"
36
- end
28
+ return unless retag
29
+ raise Fluent::ConfigError, "missing tag and add_prefix" unless retag.tag || retag.add_prefix
30
+ raise Fluent::ConfigError, "tag and add_prefix are mutually exclusive" if retag.tag && retag.add_prefix
31
+ end
32
+
33
+ def configure_prefixes
34
+ @prefix_for_filtered_tag = @retag_for_filtered.add_prefix + '.' if @retag_for_filtered && @retag_for_filtered.add_prefix
35
+ @prefix_for_filtered_tag = @retag_for_filtered && @retag_for_filtered.add_prefix ? @retag_for_filtered.add_prefix + '.' : ''
36
+ @prefix = @retag && @retag.add_prefix ? @retag.add_prefix + '.' : ''
37
37
  end
38
38
 
39
39
  def configure(conf)
@@ -41,16 +41,11 @@ module Fluent
41
41
  [@retag, @retag_for_filtered].each { |c| validate c }
42
42
  patterns = @patterns_file_path.empty? ? [] : File.readlines(@patterns_file_path).map(&:chomp).reject(&:empty?)
43
43
  @matcher = ACMatcher.new(patterns)
44
- if @retag_for_filtered && @retag_for_filtered.add_prefix
45
- @prefix_for_filtered_tag = @retag_for_filtered.add_prefix + "."
46
- end
47
- if @retag && @retag.add_prefix
48
- @prefix = @retag.add_prefix + "."
49
- end
50
- log.debug "prefix: #{@prefix}, prefix_for_filtered_tag: #{@prefix_for_filtered_tag}"
44
+ configure_prefixes
45
+ log.debug "prefix: #{@prefix}, prefix_for_filtered_tag: #{@prefix_for_filtered_tag || ''}"
51
46
  end
52
47
 
53
- def emit(tag, es, chain)
48
+ def emit(tag, es, _chain)
54
49
  es.each do |time, record|
55
50
  target = record[@key_to_filter]
56
51
  log.debug "target: #{target}"
@@ -1,5 +1,5 @@
1
1
  module Fluent
2
2
  module OutFilterList
3
- VERSION = "0.2.3"
3
+ VERSION = "0.2.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-filter-list
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shun Yanaura
@@ -94,6 +94,7 @@ extensions: []
94
94
  extra_rdoc_files: []
95
95
  files:
96
96
  - ".gitignore"
97
+ - ".rubocop.yml"
97
98
  - ".travis.yml"
98
99
  - CODE_OF_CONDUCT.md
99
100
  - Gemfile