fluent-plugin-fluent-plugin-json-size-limit 0.1.20 → 0.1.22

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
  SHA256:
3
- metadata.gz: 3d87b8186fc912187f831bd13843de3454f7a32d8f2c5fbf35f430e017980aee
4
- data.tar.gz: 8b8960f7eefb451c022da96c7ab320056fec79520e3e5c975f031a5f0eaf4b23
3
+ metadata.gz: f8113de72521243b0a40d79166525582b0bbe0ab03e62a279a1f4a438e6e6cf9
4
+ data.tar.gz: e979523af4ae24a153bee176d7f3ba07dd5d98712d977f638b84171d875c955d
5
5
  SHA512:
6
- metadata.gz: 67899b2e70f0036cd26e3e1dad9a792ea66537e1a8952f8d3e6da84262e98eb0723fe4e1af5077b16e81c5323188ec073a50a597615a14d1ba06f6d334450633
7
- data.tar.gz: ab60dcec27150d14126949b57edb3c09bb2fd7a20eaf394bf530037bec6118bb00ba3872823497ecca5de1a9f3860ca9f69f0a7ab353f98528648a4f6435167d
6
+ metadata.gz: a4025bbda9bf50409b032244f0b50211ad2a3eb6d44d47c054af3804811f680f3b8998a8170f6065e4fc7b139dc39d0a610c1375dd11f4fd32c81c8999dc06d9
7
+ data.tar.gz: d4392c92ea0bae5a5904baa42d9d9f708d7accd2c9fffab9df3b57a3044bc9363083bff9ec6739a3058ef2d1173d063c80eee2fe0f66260bf597ddc6b403af94
@@ -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-fluent-plugin-json-size-limit"
6
- spec.version = "0.1.20"
6
+ spec.version = "0.1.22"
7
7
  spec.authors = ["Mykola Panin"]
8
8
  spec.email = ["mykola.panin@creatoriq.com"]
9
9
 
@@ -39,23 +39,18 @@ module Fluent
39
39
  private
40
40
 
41
41
  def reduce_size(obj, target_size)
42
- json_str = obj.to_json
43
- return if json_str.bytesize <= target_size
42
+ return if obj.to_json.bytesize <= target_size
44
43
 
45
44
  if obj.is_a?(Hash)
46
- sorted_fields = obj.sort_by { |_, v| v.to_s.length }.reverse
47
- sorted_fields.each do |key, value|
48
- current_size = json_str.bytesize
49
- excess_size = current_size - target_size
45
+ obj.each do |key, value|
46
+ break if obj.to_json.bytesize <= target_size
50
47
 
51
- if value.is_a?(String) && value.length > 100
52
- new_length = [value.length - excess_size, 0].max
53
- obj[key] = value[0...new_length]
48
+ if value.is_a?(String)
49
+ new_length = [value.length / 2, 0].max
50
+ obj[key] = value[0...new_length]
54
51
  elsif value.is_a?(Hash) || value.is_a?(Array)
55
- reduce_size(value, target_size)
52
+ reduce_size(value, target_size)
56
53
  end
57
-
58
- break if obj.to_json.bytesize <= target_size
59
54
  end
60
55
  elsif obj.is_a?(Array)
61
56
  obj.each { |element| reduce_size(element, target_size) }
@@ -64,3 +59,4 @@ module Fluent
64
59
  end
65
60
  end
66
61
  end
62
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-fluent-plugin-json-size-limit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.20
4
+ version: 0.1.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mykola Panin