any_logger 0.2.0 → 0.2.2

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: 9f41ec5169998e8de01c427d09baccaf59fa27099e5b1e760fafbefd1a0c9218
4
- data.tar.gz: 8f10462f5a7fac93fa0b67cd6c1c66c23f73ac2298fa46d87a4a9d33dd5aeaa8
3
+ metadata.gz: e3754eda24b4b4a78fe1befee376bd01df54160cce06b7fd4cf5a3a8e0a40cc7
4
+ data.tar.gz: acd1de46d7fd68e013c81379e0548f1e45e4f2bd1af5adc34d7e60e469ec5d28
5
5
  SHA512:
6
- metadata.gz: c43933d48c1a555c37d807ae775f5923fba403794fe74d3f8be6565930c07739de0fb0114cef395fd8c6463113ef0d40ae0d27d4e70237046174352c07fb9620
7
- data.tar.gz: 19d911b00ce6b65bdaa45649312adf2ae92f692631fb2023f99947b40b50f63e072aa8e6256d4d909b9b48b294dbb29ff9bef01cf172d37b29938be8b5987129
6
+ metadata.gz: 124f4246fdb18e5fb65d3be74fbddeb8765358350c9248b255b0260b954399f63b9db2bb99300e6017ddcaff4507b9fa1d7fec9721a1cefd9d4fe0c9e195af3a
7
+ data.tar.gz: 9b50f68367884820c34f9549a85eee861a9575f44f42d440f80d5f4a421dd3d92c1fffaf3aeb6b1c35f5b95f4d98a00a8ea40c841abd64721d418131e234cf7c
data/CHANGELOG.md CHANGED
@@ -23,3 +23,13 @@
23
23
  ## [0.2.0] - 2025-01-19
24
24
 
25
25
  - process_action.action_controllerのような個別のイベントに対応
26
+
27
+ ## [0.2.1] - 2025-01-20
28
+
29
+ - Example::ControllerSubscriberのparamsに関するログが、paramsが空の場合にも出力される問題を修正
30
+ - config.subscriber.detach :action_viewをしたときに、
31
+ ActionView::LogSubscriberがデフォルトでsubscribeするイベントをunsubscribeするように変更
32
+
33
+ ## [0.2.2] - 2025-01-20
34
+
35
+ - DEFAULT_ATTACHED_EVENTS[organizer]が複数の場合に、一つ目だけdetachされる問題を修正
@@ -6,6 +6,12 @@ module AnyLogger
6
6
  Detach = Struct.new(:organizer, :event)
7
7
  Attach = Struct.new(:organizer, :event, :subscriber)
8
8
 
9
+ DEFAULT_ATTACHED_EVENTS = {
10
+ action_view: [:render_template, :render_layout]
11
+ }
12
+
13
+ private_constant :DEFAULT_ATTACHED_EVENTS
14
+
9
15
  def swap(organizer, event, subscriber = nil, &block)
10
16
  @organizer = organizer
11
17
  @event = event
@@ -24,6 +30,15 @@ module AnyLogger
24
30
  detach_from_event
25
31
  end
26
32
 
33
+ def detaches_default_attached_for(organizer)
34
+ return unless DEFAULT_ATTACHED_EVENTS[organizer]
35
+
36
+ DEFAULT_ATTACHED_EVENTS[organizer].each do |event|
37
+ @event = event # detachではメモ化されている@eventを使うので、ここで更新しておく
38
+ detach(organizer, event)
39
+ end
40
+ end
41
+
27
42
  def attach(organizer, event, subscriber = nil, &block)
28
43
  @organizer ||= organizer
29
44
  @event ||= event
@@ -43,6 +43,7 @@ module AnyLogger
43
43
 
44
44
  push_detach_to_subscriptions
45
45
  @detach_target.detach_from(@organizer)
46
+ event.detaches_default_attached_for(@organizer)
46
47
  end
47
48
 
48
49
  def attach(organizer, subscriber)
@@ -64,6 +65,10 @@ module AnyLogger
64
65
  private def validate_detach_target_is_set
65
66
  raise KeyError, "#{@organizer}'s default subscriber not found" unless @detach_target
66
67
  end
68
+
69
+ private def event
70
+ AnyLogger.config.event
71
+ end
67
72
  end
68
73
  end
69
74
  end
@@ -36,7 +36,7 @@ module AnyLogger
36
36
  lines << " 🔍 path: \"#{e[:path]}\""
37
37
  lines << " 🧱 status: #{e[:status]} in #{e[:duration]}ms " \
38
38
  "(view: #{e[:view_runtime]}ms | db: #{e[:db_runtime]}ms)"
39
- lines << " 📝 params: #{e[:params]}" if @payload[:params].present?
39
+ lines << " 📝 params: #{e[:params]}" if e[:params].present?
40
40
  lines << " 🚀 redirect: \"#{e[:redirect_to]}\"" if @headers[:location].present?
41
41
  lines.join("\n")
42
42
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AnyLogger
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.2"
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: any_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - milkeclair
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-01-18 00:00:00.000000000 Z
10
+ date: 2025-01-20 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: actionmailer