fluent-plugin-xml 0.1.1 → 0.1.2

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: 861a48da7e0bf76ebf5d4f4a1a9b409db0b4a16125ca1e972e29e3abdef9d7ad
4
- data.tar.gz: 7fdc9036db221cc52d7ef37d7fd5b9af5623a7106e6b2834f04d707aaff665ce
3
+ metadata.gz: 8ecbfd76d423425d760e7b55c85f7d936e27cf36f4a26f98091acce73feb6c90
4
+ data.tar.gz: 7e803f22c9fa16c344794d35b7582d373478981de06d0d0efa567cbc52c1d74f
5
5
  SHA512:
6
- metadata.gz: 538c659c750d0128bd821d399028e7480644a64ffe0ed79873941fb193cbaffdbabaa74a8167a46b748a31e8a9171609072da72f36a26bbab9cc06412a95a8c7
7
- data.tar.gz: 0fa5dd1a0fcdd4f5a403cca96ab952d681e2a9e4e654598f06d4893804c1a345c59e0db3cbb9b7f0fe8304387d5f26d9853b9c60a25256c0b2c777e9c2e2b3ed
6
+ metadata.gz: 2f8d378975bb7e9bf0a7b1da061fbbd915818f8c77cda3c024c217a5fa4c75266e73c721cfe1061b6cb12d05103ae34a3e2f6687846c07f9b6f02a7d7891ca2b
7
+ data.tar.gz: 8888467ff839cabb3ea3307d8658bcf2b53643382b9d81c1853a4ce513c8d52fd75975be0ee1603857285a4fe08f22908f8cfe3a4059764ee12d935564c45850
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "fluent-plugin-xml"
6
- spec.version = "0.1.1"
6
+ spec.version = "0.1.2"
7
7
  spec.authors = ["Rémy DUTHU"]
8
8
  spec.email = ["remyduthu@icloud.com"]
9
9
 
@@ -23,4 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "rake", "~> 12.0"
24
24
  spec.add_development_dependency "test-unit", "~> 3.0"
25
25
  spec.add_runtime_dependency "fluentd", [">= 0.14.10", "< 2"]
26
+ spec.add_runtime_dependency "nokogiri", [">= 1.12.5"]
26
27
  end
@@ -14,7 +14,7 @@
14
14
  # limitations under the License.
15
15
 
16
16
  require 'fluent/plugin/parser'
17
- require 'rexml/document'
17
+ require 'nokogiri'
18
18
 
19
19
  module Fluent
20
20
  module Plugin
@@ -36,7 +36,7 @@ module Fluent
36
36
  def parse(text)
37
37
  begin
38
38
  # Open the XML document
39
- doc = REXML::Document.new(text)
39
+ doc = Nokogiri.XML(text)
40
40
 
41
41
  # Create an empty record which assigns default values for missing
42
42
  # keys. See: https://stackoverflow.com/a/3339168.
@@ -88,13 +88,14 @@ module Fluent
88
88
  end
89
89
 
90
90
  def get_field_value(doc, xpath)
91
- element = doc.elements[xpath[0]]
92
- return if element.nil?
93
-
94
- attribute = element.attributes[xpath[1]]
95
- return if attribute.nil?
91
+ begin
92
+ elements = doc.xpath(xpath[0])
93
+ throw if elements.nil?
96
94
 
97
- return attribute
95
+ return elements.first[xpath[1]]
96
+ rescue StandardError
97
+ return
98
+ end
98
99
  end
99
100
 
100
101
  def deep_each_pair(hash, parents = [])
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-xml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rémy DUTHU
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-21 00:00:00.000000000 Z
11
+ date: 2021-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,6 +72,20 @@ dependencies:
72
72
  - - "<"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '2'
75
+ - !ruby/object:Gem::Dependency
76
+ name: nokogiri
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: 1.12.5
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 1.12.5
75
89
  description:
76
90
  email:
77
91
  - remyduthu@icloud.com
@@ -106,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
120
  - !ruby/object:Gem::Version
107
121
  version: '0'
108
122
  requirements: []
109
- rubygems_version: 3.0.3
123
+ rubygems_version: 3.0.3.1
110
124
  signing_key:
111
125
  specification_version: 4
112
126
  summary: A Fluentd parser plugin to extract attributes from XML data