json_tagged_logger 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/json_tagged_logger/tag_from_session.rb +8 -4
- data/lib/json_tagged_logger/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c914a43a81cb199406223b8d4ab2cdf00a059139bda4eb75b4d8781fa6cff24
|
4
|
+
data.tar.gz: 3b1a1b1071facc268b4b5267863f8e3167fde5f6df7dd609db09c0124761ec90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b5016dc1565e4d02cc98187fd7a59c70fba7125770f01aa638bf23fc51f7d0a07d3677465296f0e4bd1d599fa3c102b6c55d2ae7ebfeaf9cb939836c0429dc4
|
7
|
+
data.tar.gz: 5a4bfce86d924b53577fc6be3111b1bcd76466a0c4a38f5aa9979f31b56a09c1509911b243294bcba25b34b8eb4f416e239c5ad8cbf03f4091538789d9645419
|
@@ -2,20 +2,24 @@ require 'action_dispatch'
|
|
2
2
|
|
3
3
|
module JsonTaggedLogger
|
4
4
|
module TagFromSession
|
5
|
-
def self.get(
|
5
|
+
def self.get(*simple_tags, **labeled_tags)
|
6
|
+
labels = simple_tags + labeled_tags.keys
|
7
|
+
session_keys = simple_tags + labeled_tags.values
|
8
|
+
|
6
9
|
lambda do |request|
|
7
|
-
|
10
|
+
values = get_values_from_session(request, session_keys)
|
11
|
+
labels.zip(values).to_h.to_json
|
8
12
|
end
|
9
13
|
end
|
10
14
|
|
11
15
|
private
|
12
16
|
|
13
|
-
def self.
|
17
|
+
def self.get_values_from_session(request, keys)
|
14
18
|
session_options = Rails.application.config.session_options
|
15
19
|
session_store = Rails.application.config.session_store.new(Rails.application, session_options)
|
16
20
|
session = ActionDispatch::Request::Session.create(session_store, request, session_options)
|
17
21
|
|
18
|
-
session[
|
22
|
+
keys.map { |k| session[k] }
|
19
23
|
ensure
|
20
24
|
# Clean up side effects from loading the session so it can be loaded as
|
21
25
|
# usual during the normal request cycle. Leaving these headers in place
|