getaround_utils 0.1.5 → 0.1.6

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: 332ad483c78dd5d7d92f9b7e48f0fb7f43eed7e90ee0303c1533cecb927c9cd6
4
- data.tar.gz: 707339a17d38f7eca21a5bab223b12c9270c144de3137049fc4317c4f3d7d347
3
+ metadata.gz: 482b5de4b125e852c88c47c579abf2fc0b1dc3cb529cfae3297867bd9230dd77
4
+ data.tar.gz: 10aa0c47f8f1c8c2fb121364b04106f3d301616976fee63a8328be497edafe65
5
5
  SHA512:
6
- metadata.gz: 7b498cdd79016cbc5840f6187e355bacedc4179aa0e431d2b35912668fa7ae1a268303fc503153cc233f92e32f1cdaac16d4ef10525414154d9cd5c9206d9714
7
- data.tar.gz: 1510d194aa141f950c91130bbf5463dca4c9fe3a10bad88d6b4c93296d3123ea73762a4ffafdaaadbadca48713d9781ccedccabd5c0696e908f419324d23b34e
6
+ metadata.gz: 903d6190ddd4afb07c60807aaf0ad4d027ec631ec71c2df264ce4cc288cfd103e0d22417f672fd996e1cd0d1556ec7f92a78b0f3f10ebe2cf9e511808392de5e
7
+ data.tar.gz: eb1428e5f52272c858d54413155177a6d8f1c87fad418a67efa3012ed27489444b15f5f71cd6e79c9c617446d22173353d1c5a09d63ffd79cc335b7c09464312
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- getaround_utils (0.1.5)
4
+ getaround_utils (0.1.6)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,40 +1,62 @@
1
1
  module GetaroundUtils; end
2
2
  module GetaroundUtils::LogFormatters; end
3
3
 
4
- class GetaroundUtils::LogFormatters::DeepKeyValue
5
- def call(data)
6
- case data
7
- when Array
8
- flattify(data).map { |key, value| "#{key}=#{value}" }.join(' ')
9
- when Hash
10
- flattify(data).map { |key, value| "#{key}=#{value}" }.join(' ')
11
- when Numeric
12
- data.to_s
13
- when String
14
- data =~ /^".*"$/ ? data : data.inspect
15
- else
16
- data.to_s.inspect
4
+ module GetaroundUtils::LogFormatters
5
+ class DeepKeyValue
6
+ def serialize(data)
7
+ case data
8
+ when Array
9
+ flattify(data).map { |key, value| "#{key}=#{value}" }.join(' ')
10
+ when Hash
11
+ flattify(data).map { |key, value| "#{key}=#{value}" }.join(' ')
12
+ when Numeric
13
+ data.to_s
14
+ when String
15
+ data =~ /^".*"$/ ? data : data.inspect
16
+ else
17
+ data.to_s.inspect
18
+ end
17
19
  end
18
- end
19
20
 
20
- # https://stackoverflow.com/questions/48836464/how-to-flatten-a-hash-making-each-key-a-unique-value
21
- def flattify(value, result = {}, path = [])
22
- case value
23
- when Array
24
- value.each.with_index(0) do |v, i|
25
- flattify(v, result, path + [i])
21
+ # https://stackoverflow.com/questions/48836464/how-to-flatten-a-hash-making-each-key-a-unique-value
22
+ def flattify(value, result = {}, path = [])
23
+ case value
24
+ when Array
25
+ value.each.with_index(0) do |v, i|
26
+ flattify(v, result, path + [i])
27
+ end
28
+ when Hash
29
+ value.each do |k, v|
30
+ flattify(v, result, path + [k])
31
+ end
32
+ when Numeric
33
+ result[path.join(".")] = value.to_s
34
+ when String
35
+ result[path.join(".")] = value =~ /^".*"$/ ? value : value.inspect
36
+ else
37
+ result[path.join(".")] = value.to_s.inspect
26
38
  end
27
- when Hash
28
- value.each do |k, v|
29
- flattify(v, result, path + [k])
39
+ result
40
+ end
41
+
42
+ def call(severity, datetime, appname, message)
43
+ payload = { severity: severity, datetime: datetime, appname: appname }
44
+ if message.is_a?(Hash)
45
+ payload.merge!(message)
46
+ else
47
+ payload[:message] = message.to_s
30
48
  end
31
- when Numeric
32
- result[path.join(".")] = value.to_s
33
- when String
34
- result[path.join(".")] = value =~ /^".*"$/ ? value : value.inspect
35
- else
36
- result[path.join(".")] = value.to_s.inspect
49
+ serialize(payload)
50
+ end
51
+
52
+ module Lograge
53
+ def call(data)
54
+ serialize(data)
55
+ end
56
+ end
57
+
58
+ def self.for_lograge
59
+ new.extend(Lograge)
37
60
  end
38
- result
39
61
  end
40
62
  end
@@ -17,11 +17,11 @@ class GetaroundUtils::Patches::KeyValueLogTags
17
17
  @taggers.collect do |tag|
18
18
  case tag
19
19
  when Proc
20
- @kv_formatter.call(tag.call(request))
20
+ @kv_formatter.serialize(tag.call(request))
21
21
  when Symbol
22
- @kv_formatter.call(tag => request.send(tag))
22
+ @kv_formatter.serialize(tag => request.send(tag))
23
23
  else
24
- @kv_formatter.call(tag => tag)
24
+ @kv_formatter.serialize(tag => tag)
25
25
  end
26
26
  end
27
27
  end
@@ -26,7 +26,7 @@ class GetaroundUtils::Railties::Lograge < Rails::Railtie
26
26
  end
27
27
 
28
28
  config.lograge.enabled = true
29
- config.lograge.formatter = GetaroundUtils::LogFormatters::DeepKeyValue.new
29
+ config.lograge.formatter = GetaroundUtils::LogFormatters::DeepKeyValue.for_lograge
30
30
  config.lograge.custom_options = lambda do |event|
31
31
  event.payload[:lograge].compact
32
32
  end
@@ -1,3 +1,3 @@
1
1
  module GetaroundUtils
2
- VERSION = '0.1.5'.freeze
2
+ VERSION = '0.1.6'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: getaround_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Drivy