getaround_utils 0.1.5 → 0.1.6

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: 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