fluent-plugin-filter-list 0.5.0 → 0.6.0

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
  SHA256:
3
- metadata.gz: 17bee9e79c216bfbdf746e8d7d089d229b2997bccf376d24c5e7311f1931f2b4
4
- data.tar.gz: b00d3238b9a8d775f5f1dc2e7fd03beedde536bc6894d38f22091395d3dde1bf
3
+ metadata.gz: a6ecc0716888d8def1ffa0bdc4906c27aa610b6892c12d81e04fbf5f6dacd49d
4
+ data.tar.gz: 682c3cc3a8b27a86bb0f4cf40cc2e994444e9369d49470c611d0e47cef057425
5
5
  SHA512:
6
- metadata.gz: c578ea80823b2c26e70a37cf63b3df24832bef79013fcd7e1c28cbf937d220130581bd2a382a6ef06b5c9d1b96838a12d154b1263512920214041cfdfe467ee5
7
- data.tar.gz: 513142ca73ebf949f94d3f22fea2deff6e5147ffea92d65687ce33c80c6217e9d70d47dc3ec53b47858a5edb725c1b43ba70334e0feece51971978ca9fe886f4
6
+ metadata.gz: c52e32c0fbf6c82410adab0de450957aa7fd2567d6d69e167c8e047c3e4f64ed464b8090134dc07c9e29e81c89cd1917db18039574d6d2e5e0453962d2ed2e1e
7
+ data.tar.gz: 82bea7aa160a072d49356ce8e4840345d27bd547b2993d49efcae588acc4042dd24097bb43787f05a3ac93e5a9e0f04e1c6f5b02b06dfb45e91047636717355e
@@ -35,7 +35,10 @@ Metrics/PerceivedComplexity:
35
35
  Style/GlobalVars:
36
36
  Exclude:
37
37
  - 'test/test_helper.rb'
38
- Style/MethodMissing:
38
+ Style/MethodMissingSuper:
39
+ Exclude:
40
+ - 'test/test_helper.rb'
41
+ Style/MissingRespondToMissing:
39
42
  Exclude:
40
43
  - 'test/test_helper.rb'
41
44
  Style/TernaryParentheses:
@@ -1,12 +1,12 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.10
4
- - 2.3.7
5
- - 2.4.4
6
- - 2.5.1
3
+ - 2.3
4
+ - 2.4
5
+ - 2.5
6
+ - 2.6
7
7
  before_install:
8
8
  - gem update --remote bundler
9
9
  - gem update --system
10
- - gem install rubocop
10
+ - gem install rubocop bundler
11
11
  script:
12
12
  - bundle exec rake
data/Gemfile CHANGED
@@ -4,4 +4,4 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  # Added at 2017-08-14 19:47:59 +0900 by 5hun:
7
- gem 'rubocop', '~> 0.54.0', group: [:development]
7
+ gem 'rubocop', '~> 0.62.0', require: false, group: [:development]
data/README.md CHANGED
@@ -35,7 +35,7 @@ Use the `filter_list` filter. Configure fluentd as follows.
35
35
 
36
36
  filter AC
37
37
  key_to_filter x
38
- patterns_file_path blacklist.txt
38
+ pattern_file_paths ["blacklist_1.txt", "blacklist_2.txt"]
39
39
  filter_empty true
40
40
  </filter>
41
41
  ```
@@ -82,7 +82,7 @@ Additionally, the following message is also omitted since `filter_empty` is `tru
82
82
 
83
83
  filter IP
84
84
  key_to_filter ip
85
- patterns_file_path blacklist.txt
85
+ pattern_file_paths blacklist.txt
86
86
  </filter>
87
87
  ```
88
88
 
@@ -130,7 +130,7 @@ The other use case is to filter messages likewise, but process the filtered mess
130
130
  @type filter_list
131
131
 
132
132
  key_to_filter field_name_you_want_to_filter
133
- patterns_file_path file_including_patterns_separated_by_new_line
133
+ pattern_file_paths ["file_including_patterns_separated_by_new_line"]
134
134
  filter_empty true
135
135
 
136
136
  <retag>
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ['lib']
23
23
 
24
- spec.add_development_dependency 'bundler', '~> 1.16'
24
+ spec.add_development_dependency 'bundler', '~> 2.0'
25
25
  spec.add_development_dependency 'minitest', '~> 5.11'
26
26
  spec.add_development_dependency 'rake', '~> 12.3'
27
27
  spec.add_development_dependency 'test-unit', '~> 3.2'
@@ -13,18 +13,19 @@ module Fluent
13
13
 
14
14
  config_param :filter, :string, default: 'AC'
15
15
  config_param :key_to_filter, :string, default: nil
16
- config_param :patterns_file_path, :string, default: ''
16
+ config_param :pattern_file_paths, :array, default: [], value_type: :string
17
17
  config_param :filter_empty, :bool, default: false
18
18
 
19
19
  def configure(conf)
20
20
  super
21
- patterns = @patterns_file_path.empty? ? [] : File.readlines(@patterns_file_path).map(&:chomp).reject(&:empty?)
21
+ patterns = @pattern_file_paths.flat_map { |p| File.readlines(p).map(&:chomp).reject(&:empty?) }
22
22
  @matcher = (@filter == 'IP') ? IPMatcher.new(patterns) : ACMatcher.new(patterns)
23
23
  end
24
24
 
25
25
  def filter(_tag, _time, record)
26
26
  target = record[@key_to_filter]
27
27
  return nil if target && (@matcher.matches?(target) || (@filter_empty && target.strip.empty?))
28
+
28
29
  record
29
30
  end
30
31
  end
@@ -15,7 +15,7 @@ module Fluent
15
15
 
16
16
  config_param :filter, :string, default: 'AC'
17
17
  config_param :key_to_filter, :string, default: nil
18
- config_param :patterns_file_path, :string, default: ''
18
+ config_param :pattern_file_paths, :array, default: [], value_type: :string
19
19
  config_param :filter_empty, :bool, default: false
20
20
 
21
21
  config_section :retag, required: true, multi: false do
@@ -47,7 +47,7 @@ module Fluent
47
47
  def configure(conf)
48
48
  super
49
49
  [@retag, @retag_for_filtered].each { |c| validate c }
50
- patterns = @patterns_file_path.empty? ? [] : File.readlines(@patterns_file_path).map(&:chomp).reject(&:empty?)
50
+ patterns = @pattern_file_paths.flat_map { |p| File.readlines(p).map(&:chomp).reject(&:empty?) }
51
51
  @matcher = (@filter == 'IP') ? IPMatcher.new(patterns) : ACMatcher.new(patterns)
52
52
  configure_prefixes
53
53
  end
@@ -1,7 +1,7 @@
1
1
  module Fluent
2
2
  module Plugin
3
3
  module FilterList
4
- VERSION = "0.5.0"
4
+ VERSION = "0.6.0"
5
5
  end
6
6
  end
7
7
  end
@@ -32,6 +32,7 @@ module Matchers
32
32
 
33
33
  def matches?(text)
34
34
  return false if text.nil?
35
+
35
36
  ip = IPAddr.new(text).to_i.to_s(2).rjust(32, '0')
36
37
  trie.forward_match(ip)
37
38
  end
@@ -82,10 +83,12 @@ module Matchers
82
83
 
83
84
  def forward_match(pattern)
84
85
  return false if @root.children.empty?
86
+
85
87
  cur_node = @root
86
88
  pattern.chars.each do |char|
87
89
  return true if cur_node.children.empty?
88
90
  return false unless cur_node.children.key?(char)
91
+
89
92
  cur_node = cur_node.children[char]
90
93
  end
91
94
  true
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-filter-list
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shun Yanaura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-26 00:00:00.000000000 Z
11
+ date: 2019-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.16'
19
+ version: '2.0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.16'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -130,8 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  requirements: []
133
- rubyforge_project:
134
- rubygems_version: 2.7.6
133
+ rubygems_version: 3.0.2
135
134
  signing_key:
136
135
  specification_version: 4
137
136
  summary: A fluentd output plugin to filter keywords from messages