fluent-plugin-filter-list 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
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