fluent-plugin-viaq_data_model 0.0.3 → 0.0.5

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: 24033376b78bd0a72e22b6ff93d00d634e8dcb30
4
- data.tar.gz: cb280696d25324e6ddc66d4091d85951f99abde6
3
+ metadata.gz: 72e1031bd59c7056bff5416a8877658c4850d7fb
4
+ data.tar.gz: e9e76b523fca3e2c3eb00800a7e00256adc90db3
5
5
  SHA512:
6
- metadata.gz: 061b1c5be09ee0e8d1b480ea845368c4e7ce0d87b3455e0a5c486b911352a3dcdc7890b56fe5d433cdb74597b9567dd9270ab59f33c58ef7b0c4f619165f6f02
7
- data.tar.gz: 5c7702852bbd5d08813175367d4343f1acc86d4695102b0b48f85a0d7f4ddbf06a8458c4b8cbc3de16452ae8d55065db06d6e5efd6b90258ad1f2995469e8f9a
6
+ metadata.gz: 9cc93bc210c483b56dd05ce87efd6b9f54dc067c619dbe90d087002f10b01729b3ca21ac7c80024ec07b88aa852609590b1f5b83479287fb0228d2bcc0438801
7
+ data.tar.gz: 6a398beddcc833b48ba06bec215b70cd415a5b8d661df7d0fa4b7d832e9ecc23f2d558623b9817055956a90874d896e55ed966f3b8a6f1040b47f7e8540084af
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "fluent-plugin-viaq_data_model"
7
- gem.version = "0.0.3"
7
+ gem.version = "0.0.5"
8
8
  gem.authors = ["Rich Megginson"]
9
9
  gem.email = ["rmeggins@redhat.com"]
10
10
  gem.description = %q{Filter plugin to ensure data is in the ViaQ common data model}
@@ -95,7 +95,11 @@ module Fluent
95
95
  # recursively delete empty fields and empty lists/hashes from thing
96
96
  def delempty(thing)
97
97
  if thing.respond_to?(:delete_if)
98
- thing.delete_if{|k,v| v.nil? || isempty(delempty(v)) || isempty(v)}
98
+ if thing.kind_of? Hash
99
+ thing.delete_if{|k,v| v.nil? || isempty(delempty(v)) || isempty(v)}
100
+ else # assume single element iterable
101
+ thing.delete_if{|elem| elem.nil? || isempty(delempty(elem)) || isempty(elem)}
102
+ end
99
103
  end
100
104
  thing
101
105
  end
@@ -192,6 +192,26 @@ class ViaqDataModelFilterTest < Test::Unit::TestCase
192
192
  assert_equal(99, rec['h']['i']['m'])
193
193
  assert_true(rec['h']['i']['n'])
194
194
  end
195
+ test 'see if fields with a value of numeric 0 are removed or preserved' do
196
+ msg = {'a'=>{'b'=>{'c'=>{'d'=>{'e'=>'','f'=>{},'g'=>0}}}},'h'=>{'i'=>{'j'=>'','k'=>'l','m'=>0,'n'=>true}}}
197
+ rec = emit_with_tag('tag', msg)
198
+ assert_nil(rec['a']['b']['c']['d']['e'])
199
+ assert_nil(rec['a']['b']['c']['d']['f'])
200
+ assert_equal(0, rec['a']['b']['c']['d']['g'])
201
+ assert_equal('l', rec['h']['i']['k'])
202
+ assert_equal(0, rec['h']['i']['m'])
203
+ assert_true(rec['h']['i']['n'])
204
+ end
205
+ test 'see if fields with array values of numeric values are preserved' do
206
+ msg = {'a'=>{'b'=>{'c'=>{'d'=>{'e'=>'','f'=>{},'g'=>[99.999]}}}},'h'=>{'i'=>{'j'=>'','k'=>'l','m'=>[88],'n'=>true}}}
207
+ rec = emit_with_tag('tag', msg)
208
+ assert_equal([99.999], rec['a']['b']['c']['d']['g'])
209
+ assert_nil(rec['a']['b']['c']['d']['e'])
210
+ assert_nil(rec['a']['b']['c']['d']['f'])
211
+ assert_equal('l', rec['h']['i']['k'])
212
+ assert_equal([88], rec['h']['i']['m'])
213
+ assert_true(rec['h']['i']['n'])
214
+ end
195
215
 
196
216
  end
197
217
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-viaq_data_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rich Megginson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-14 00:00:00.000000000 Z
11
+ date: 2017-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd