logstruct 0.1.2 → 0.1.3

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.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -1
  3. data/README.md +4 -6
  4. data/lib/log_struct/concerns/configuration.rb +2 -2
  5. data/lib/log_struct/config_struct/integrations.rb +5 -0
  6. data/lib/log_struct/enums/log_field.rb +12 -1
  7. data/lib/log_struct/integrations/action_mailer/error_handling.rb +121 -27
  8. data/lib/log_struct/integrations/action_mailer/event_logging.rb +30 -14
  9. data/lib/log_struct/integrations/action_mailer/metadata_collection.rb +18 -24
  10. data/lib/log_struct/integrations/action_mailer.rb +13 -6
  11. data/lib/log_struct/integrations/active_job/log_subscriber.rb +2 -2
  12. data/lib/log_struct/integrations/active_storage.rb +8 -8
  13. data/lib/log_struct/integrations/ahoy.rb +2 -3
  14. data/lib/log_struct/integrations/carrierwave.rb +8 -10
  15. data/lib/log_struct/integrations/good_job/log_subscriber.rb +5 -5
  16. data/lib/log_struct/integrations/good_job/logger.rb +2 -6
  17. data/lib/log_struct/integrations/good_job.rb +1 -1
  18. data/lib/log_struct/integrations/host_authorization.rb +27 -36
  19. data/lib/log_struct/integrations/lograge.rb +1 -1
  20. data/lib/log_struct/integrations/shrine.rb +21 -24
  21. data/lib/log_struct/integrations/sidekiq/logger.rb +8 -1
  22. data/lib/log_struct/log/action_mailer/delivered.rb +14 -49
  23. data/lib/log_struct/log/action_mailer/delivery.rb +14 -49
  24. data/lib/log_struct/log/action_mailer/error.rb +72 -0
  25. data/lib/log_struct/log/action_mailer.rb +15 -2
  26. data/lib/log_struct/log/active_job/enqueue.rb +9 -73
  27. data/lib/log_struct/log/active_job/finish.rb +9 -76
  28. data/lib/log_struct/log/active_job/schedule.rb +9 -73
  29. data/lib/log_struct/log/active_job/start.rb +9 -76
  30. data/lib/log_struct/log/active_job.rb +2 -2
  31. data/lib/log_struct/log/active_model_serializers.rb +5 -45
  32. data/lib/log_struct/log/active_storage/delete.rb +8 -46
  33. data/lib/log_struct/log/active_storage/download.rb +9 -55
  34. data/lib/log_struct/log/active_storage/exist.rb +9 -49
  35. data/lib/log_struct/log/active_storage/metadata.rb +9 -49
  36. data/lib/log_struct/log/active_storage/stream.rb +9 -49
  37. data/lib/log_struct/log/active_storage/upload.rb +9 -64
  38. data/lib/log_struct/log/active_storage/url.rb +9 -49
  39. data/lib/log_struct/log/active_storage.rb +2 -2
  40. data/lib/log_struct/log/ahoy.rb +5 -43
  41. data/lib/log_struct/log/carrierwave/delete.rb +15 -69
  42. data/lib/log_struct/log/carrierwave/download.rb +15 -77
  43. data/lib/log_struct/log/carrierwave/upload.rb +15 -83
  44. data/lib/log_struct/log/carrierwave.rb +13 -4
  45. data/lib/log_struct/log/dotenv/load.rb +5 -33
  46. data/lib/log_struct/log/dotenv/restore.rb +5 -33
  47. data/lib/log_struct/log/dotenv/save.rb +5 -33
  48. data/lib/log_struct/log/dotenv/update.rb +5 -33
  49. data/lib/log_struct/log/error.rb +7 -40
  50. data/lib/log_struct/log/good_job/enqueue.rb +9 -72
  51. data/lib/log_struct/log/good_job/error.rb +9 -89
  52. data/lib/log_struct/log/good_job/finish.rb +9 -78
  53. data/lib/log_struct/log/good_job/log.rb +11 -75
  54. data/lib/log_struct/log/good_job/schedule.rb +7 -78
  55. data/lib/log_struct/log/good_job/start.rb +7 -78
  56. data/lib/log_struct/log/good_job.rb +2 -2
  57. data/lib/log_struct/log/plain.rb +5 -32
  58. data/lib/log_struct/log/puma/shutdown.rb +5 -32
  59. data/lib/log_struct/log/puma/start.rb +5 -56
  60. data/lib/log_struct/log/request.rb +7 -90
  61. data/lib/log_struct/log/security/blocked_host.rb +12 -73
  62. data/lib/log_struct/log/security/csrf_violation.rb +6 -67
  63. data/lib/log_struct/log/security/ip_spoof.rb +6 -73
  64. data/lib/log_struct/log/shrine/delete.rb +6 -41
  65. data/lib/log_struct/log/shrine/download.rb +6 -44
  66. data/lib/log_struct/log/shrine/exist.rb +6 -44
  67. data/lib/log_struct/log/shrine/metadata.rb +8 -46
  68. data/lib/log_struct/log/shrine/upload.rb +6 -53
  69. data/lib/log_struct/log/sidekiq.rb +5 -42
  70. data/lib/log_struct/log/sql.rb +5 -65
  71. data/lib/log_struct/log.rb +2 -2
  72. data/lib/log_struct/monkey_patches/active_support/tagged_logging/formatter.rb +12 -1
  73. data/lib/log_struct/railtie.rb +0 -22
  74. data/lib/log_struct/semantic_logger/concerns/log_methods.rb +100 -0
  75. data/lib/log_struct/semantic_logger/logger.rb +46 -15
  76. data/lib/log_struct/semantic_logger/setup.rb +11 -7
  77. data/lib/log_struct/shared/{shared/add_request_fields.rb → add_request_fields.rb} +2 -2
  78. data/lib/log_struct/shared/{shared/merge_additional_data_fields.rb → merge_additional_data_fields.rb} +1 -1
  79. data/lib/log_struct/shared/{shared/serialize_common.rb → serialize_common.rb} +9 -3
  80. data/lib/log_struct/{log/shared → shared}/serialize_common_public.rb +2 -2
  81. data/lib/log_struct/version.rb +1 -1
  82. data/lib/log_struct.rb +4 -1
  83. data/logstruct.gemspec +1 -1
  84. metadata +9 -11
  85. data/lib/log_struct/integrations/action_mailer/callbacks.rb +0 -100
  86. data/lib/log_struct/log/shared/add_request_fields.rb +0 -4
  87. data/lib/log_struct/log/shared/merge_additional_data_fields.rb +0 -4
  88. data/lib/log_struct/log/shared/serialize_common.rb +0 -4
@@ -9,9 +9,9 @@
9
9
  require "log_struct/shared/interfaces/common_fields"
10
10
  require "log_struct/shared/interfaces/additional_data_field"
11
11
  require "log_struct/shared/interfaces/request_fields"
12
- require "log_struct/shared/shared/serialize_common"
13
- require "log_struct/shared/shared/merge_additional_data_fields"
14
- require "log_struct/shared/shared/add_request_fields"
12
+ require "log_struct/shared/serialize_common"
13
+ require "log_struct/shared/merge_additional_data_fields"
14
+ require "log_struct/shared/add_request_fields"
15
15
  require_relative "../../enums/source"
16
16
  require_relative "../../enums/event"
17
17
  require_relative "../../enums/level"
@@ -21,11 +21,6 @@ module LogStruct
21
21
  module Log
22
22
  class ActiveJob
23
23
  class Enqueue < T::Struct
24
- # typed: strict
25
- # frozen_string_literal: true
26
-
27
- extend T::Sig
28
-
29
24
  extend T::Sig
30
25
 
31
26
  # Shared/common fields
@@ -36,7 +31,7 @@ module LogStruct
36
31
 
37
32
  const :job_id, String
38
33
  const :job_class, String
39
- const :queue_name, T.nilable(String), default: nil
34
+ const :queue_name, T.nilable(Symbol), default: nil
40
35
  const :arguments, T.nilable(T::Array[T.untyped]), default: nil
41
36
  const :executions, T.nilable(Integer), default: nil
42
37
  const :provider_job_id, T.nilable(String), default: nil
@@ -44,81 +39,22 @@ module LogStruct
44
39
  # Event-specific fields
45
40
  const :retries, T.nilable(Integer), default: nil
46
41
 
47
- # Additional data
48
-
49
- # Request fields (optional)
50
-
51
42
  # Serialize shared fields
52
43
  include LogStruct::Log::Interfaces::CommonFields
53
44
  include LogStruct::Log::Shared::SerializeCommon
54
45
 
55
- sig {
56
- params(job_id: T.untyped,
57
- job_class: T.untyped,
58
- queue_name: T.untyped,
59
- arguments: T.untyped,
60
- executions: T.untyped,
61
- provider_job_id: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
62
- }
63
- def self.base_hash(job_id: nil,
64
- job_class: nil,
65
- queue_name: nil,
66
- arguments: nil,
67
- executions: nil,
68
- provider_job_id: nil)
69
- h = {}
70
- h[LogField::JobId] = job_id unless job_id.nil?
71
- h[LogField::JobClass] = job_class unless job_class.nil?
46
+ sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
47
+ def to_h
48
+ h = T.let({}, T::Hash[LogStruct::LogField, T.untyped])
49
+ h[LogField::JobId] = job_id
50
+ h[LogField::JobClass] = job_class
72
51
  h[LogField::QueueName] = queue_name unless queue_name.nil?
73
52
  h[LogField::Arguments] = arguments unless arguments.nil?
74
53
  h[LogField::Executions] = executions unless executions.nil?
75
54
  h[LogField::ProviderJobId] = provider_job_id unless provider_job_id.nil?
76
- h
77
- end
78
-
79
- sig {
80
- params(job_id: T.untyped,
81
- job_class: T.untyped,
82
- queue_name: T.untyped,
83
- arguments: T.untyped,
84
- executions: T.untyped,
85
- provider_job_id: T.untyped,
86
- retries: T.untyped,
87
- additional_data: T.untyped,
88
- timestamp: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
89
- }
90
- def self.build(job_id:,
91
- job_class:,
92
- queue_name: nil,
93
- arguments: nil,
94
- executions: nil,
95
- provider_job_id: nil,
96
- retries: nil,
97
- additional_data: nil,
98
- timestamp: Time.now)
99
- h = base_hash(job_id: job_id,
100
- job_class: job_class,
101
- queue_name: queue_name,
102
- arguments: arguments,
103
- executions: executions,
104
- provider_job_id: provider_job_id)
105
55
  h[LogField::Retries] = retries unless retries.nil?
106
56
  h
107
57
  end
108
-
109
- sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
110
- def to_h
111
- self.class.build(
112
- job_id: job_id,
113
- job_class: job_class,
114
- queue_name: queue_name,
115
- arguments: arguments,
116
- executions: executions,
117
- provider_job_id: provider_job_id,
118
- retries: retries,
119
- timestamp: timestamp
120
- )
121
- end
122
58
  end
123
59
  end
124
60
  end
@@ -9,9 +9,9 @@
9
9
  require "log_struct/shared/interfaces/common_fields"
10
10
  require "log_struct/shared/interfaces/additional_data_field"
11
11
  require "log_struct/shared/interfaces/request_fields"
12
- require "log_struct/shared/shared/serialize_common"
13
- require "log_struct/shared/shared/merge_additional_data_fields"
14
- require "log_struct/shared/shared/add_request_fields"
12
+ require "log_struct/shared/serialize_common"
13
+ require "log_struct/shared/merge_additional_data_fields"
14
+ require "log_struct/shared/add_request_fields"
15
15
  require_relative "../../enums/source"
16
16
  require_relative "../../enums/event"
17
17
  require_relative "../../enums/level"
@@ -21,11 +21,6 @@ module LogStruct
21
21
  module Log
22
22
  class ActiveJob
23
23
  class Finish < T::Struct
24
- # typed: strict
25
- # frozen_string_literal: true
26
-
27
- extend T::Sig
28
-
29
24
  extend T::Sig
30
25
 
31
26
  # Shared/common fields
@@ -36,7 +31,7 @@ module LogStruct
36
31
 
37
32
  const :job_id, String
38
33
  const :job_class, String
39
- const :queue_name, T.nilable(String), default: nil
34
+ const :queue_name, T.nilable(Symbol), default: nil
40
35
  const :arguments, T.nilable(T::Array[T.untyped]), default: nil
41
36
  const :executions, T.nilable(Integer), default: nil
42
37
  const :provider_job_id, T.nilable(String), default: nil
@@ -45,85 +40,23 @@ module LogStruct
45
40
  const :duration_ms, Float
46
41
  const :finished_at, Time
47
42
 
48
- # Additional data
49
-
50
- # Request fields (optional)
51
-
52
43
  # Serialize shared fields
53
44
  include LogStruct::Log::Interfaces::CommonFields
54
45
  include LogStruct::Log::Shared::SerializeCommon
55
46
 
56
- sig {
57
- params(job_id: T.untyped,
58
- job_class: T.untyped,
59
- queue_name: T.untyped,
60
- arguments: T.untyped,
61
- executions: T.untyped,
62
- provider_job_id: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
63
- }
64
- def self.base_hash(job_id: nil,
65
- job_class: nil,
66
- queue_name: nil,
67
- arguments: nil,
68
- executions: nil,
69
- provider_job_id: nil)
70
- h = {}
71
- h[LogField::JobId] = job_id unless job_id.nil?
72
- h[LogField::JobClass] = job_class unless job_class.nil?
47
+ sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
48
+ def to_h
49
+ h = T.let({}, T::Hash[LogStruct::LogField, T.untyped])
50
+ h[LogField::JobId] = job_id
51
+ h[LogField::JobClass] = job_class
73
52
  h[LogField::QueueName] = queue_name unless queue_name.nil?
74
53
  h[LogField::Arguments] = arguments unless arguments.nil?
75
54
  h[LogField::Executions] = executions unless executions.nil?
76
55
  h[LogField::ProviderJobId] = provider_job_id unless provider_job_id.nil?
77
- h
78
- end
79
-
80
- sig {
81
- params(duration_ms: T.untyped,
82
- finished_at: T.untyped,
83
- job_id: T.untyped,
84
- job_class: T.untyped,
85
- queue_name: T.untyped,
86
- arguments: T.untyped,
87
- executions: T.untyped,
88
- provider_job_id: T.untyped,
89
- additional_data: T.untyped,
90
- timestamp: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
91
- }
92
- def self.build(duration_ms:,
93
- finished_at:,
94
- job_id:,
95
- job_class:,
96
- queue_name: nil,
97
- arguments: nil,
98
- executions: nil,
99
- provider_job_id: nil,
100
- additional_data: nil,
101
- timestamp: Time.now)
102
- h = base_hash(job_id: job_id,
103
- job_class: job_class,
104
- queue_name: queue_name,
105
- arguments: arguments,
106
- executions: executions,
107
- provider_job_id: provider_job_id)
108
56
  h[LogField::DurationMs] = duration_ms
109
57
  h[LogField::FinishedAt] = finished_at
110
58
  h
111
59
  end
112
-
113
- sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
114
- def to_h
115
- self.class.build(
116
- job_id: job_id,
117
- job_class: job_class,
118
- queue_name: queue_name,
119
- arguments: arguments,
120
- executions: executions,
121
- provider_job_id: provider_job_id,
122
- duration_ms: duration_ms,
123
- finished_at: finished_at,
124
- timestamp: timestamp
125
- )
126
- end
127
60
  end
128
61
  end
129
62
  end
@@ -9,9 +9,9 @@
9
9
  require "log_struct/shared/interfaces/common_fields"
10
10
  require "log_struct/shared/interfaces/additional_data_field"
11
11
  require "log_struct/shared/interfaces/request_fields"
12
- require "log_struct/shared/shared/serialize_common"
13
- require "log_struct/shared/shared/merge_additional_data_fields"
14
- require "log_struct/shared/shared/add_request_fields"
12
+ require "log_struct/shared/serialize_common"
13
+ require "log_struct/shared/merge_additional_data_fields"
14
+ require "log_struct/shared/add_request_fields"
15
15
  require_relative "../../enums/source"
16
16
  require_relative "../../enums/event"
17
17
  require_relative "../../enums/level"
@@ -21,11 +21,6 @@ module LogStruct
21
21
  module Log
22
22
  class ActiveJob
23
23
  class Schedule < T::Struct
24
- # typed: strict
25
- # frozen_string_literal: true
26
-
27
- extend T::Sig
28
-
29
24
  extend T::Sig
30
25
 
31
26
  # Shared/common fields
@@ -36,7 +31,7 @@ module LogStruct
36
31
 
37
32
  const :job_id, String
38
33
  const :job_class, String
39
- const :queue_name, T.nilable(String), default: nil
34
+ const :queue_name, T.nilable(Symbol), default: nil
40
35
  const :arguments, T.nilable(T::Array[T.untyped]), default: nil
41
36
  const :executions, T.nilable(Integer), default: nil
42
37
  const :provider_job_id, T.nilable(String), default: nil
@@ -44,81 +39,22 @@ module LogStruct
44
39
  # Event-specific fields
45
40
  const :scheduled_at, Time
46
41
 
47
- # Additional data
48
-
49
- # Request fields (optional)
50
-
51
42
  # Serialize shared fields
52
43
  include LogStruct::Log::Interfaces::CommonFields
53
44
  include LogStruct::Log::Shared::SerializeCommon
54
45
 
55
- sig {
56
- params(job_id: T.untyped,
57
- job_class: T.untyped,
58
- queue_name: T.untyped,
59
- arguments: T.untyped,
60
- executions: T.untyped,
61
- provider_job_id: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
62
- }
63
- def self.base_hash(job_id: nil,
64
- job_class: nil,
65
- queue_name: nil,
66
- arguments: nil,
67
- executions: nil,
68
- provider_job_id: nil)
69
- h = {}
70
- h[LogField::JobId] = job_id unless job_id.nil?
71
- h[LogField::JobClass] = job_class unless job_class.nil?
46
+ sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
47
+ def to_h
48
+ h = T.let({}, T::Hash[LogStruct::LogField, T.untyped])
49
+ h[LogField::JobId] = job_id
50
+ h[LogField::JobClass] = job_class
72
51
  h[LogField::QueueName] = queue_name unless queue_name.nil?
73
52
  h[LogField::Arguments] = arguments unless arguments.nil?
74
53
  h[LogField::Executions] = executions unless executions.nil?
75
54
  h[LogField::ProviderJobId] = provider_job_id unless provider_job_id.nil?
76
- h
77
- end
78
-
79
- sig {
80
- params(scheduled_at: T.untyped,
81
- job_id: T.untyped,
82
- job_class: T.untyped,
83
- queue_name: T.untyped,
84
- arguments: T.untyped,
85
- executions: T.untyped,
86
- provider_job_id: T.untyped,
87
- additional_data: T.untyped,
88
- timestamp: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
89
- }
90
- def self.build(scheduled_at:,
91
- job_id:,
92
- job_class:,
93
- queue_name: nil,
94
- arguments: nil,
95
- executions: nil,
96
- provider_job_id: nil,
97
- additional_data: nil,
98
- timestamp: Time.now)
99
- h = base_hash(job_id: job_id,
100
- job_class: job_class,
101
- queue_name: queue_name,
102
- arguments: arguments,
103
- executions: executions,
104
- provider_job_id: provider_job_id)
105
55
  h[LogField::ScheduledAt] = scheduled_at
106
56
  h
107
57
  end
108
-
109
- sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
110
- def to_h
111
- self.class.build(
112
- job_id: job_id,
113
- job_class: job_class,
114
- queue_name: queue_name,
115
- arguments: arguments,
116
- executions: executions,
117
- provider_job_id: provider_job_id,
118
- scheduled_at: scheduled_at,
119
- timestamp: timestamp
120
- )
121
- end
122
58
  end
123
59
  end
124
60
  end
@@ -9,9 +9,9 @@
9
9
  require "log_struct/shared/interfaces/common_fields"
10
10
  require "log_struct/shared/interfaces/additional_data_field"
11
11
  require "log_struct/shared/interfaces/request_fields"
12
- require "log_struct/shared/shared/serialize_common"
13
- require "log_struct/shared/shared/merge_additional_data_fields"
14
- require "log_struct/shared/shared/add_request_fields"
12
+ require "log_struct/shared/serialize_common"
13
+ require "log_struct/shared/merge_additional_data_fields"
14
+ require "log_struct/shared/add_request_fields"
15
15
  require_relative "../../enums/source"
16
16
  require_relative "../../enums/event"
17
17
  require_relative "../../enums/level"
@@ -21,11 +21,6 @@ module LogStruct
21
21
  module Log
22
22
  class ActiveJob
23
23
  class Start < T::Struct
24
- # typed: strict
25
- # frozen_string_literal: true
26
-
27
- extend T::Sig
28
-
29
24
  extend T::Sig
30
25
 
31
26
  # Shared/common fields
@@ -36,7 +31,7 @@ module LogStruct
36
31
 
37
32
  const :job_id, String
38
33
  const :job_class, String
39
- const :queue_name, T.nilable(String), default: nil
34
+ const :queue_name, T.nilable(Symbol), default: nil
40
35
  const :arguments, T.nilable(T::Array[T.untyped]), default: nil
41
36
  const :executions, T.nilable(Integer), default: nil
42
37
  const :provider_job_id, T.nilable(String), default: nil
@@ -45,85 +40,23 @@ module LogStruct
45
40
  const :started_at, Time
46
41
  const :attempt, T.nilable(Integer), default: nil
47
42
 
48
- # Additional data
49
-
50
- # Request fields (optional)
51
-
52
43
  # Serialize shared fields
53
44
  include LogStruct::Log::Interfaces::CommonFields
54
45
  include LogStruct::Log::Shared::SerializeCommon
55
46
 
56
- sig {
57
- params(job_id: T.untyped,
58
- job_class: T.untyped,
59
- queue_name: T.untyped,
60
- arguments: T.untyped,
61
- executions: T.untyped,
62
- provider_job_id: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
63
- }
64
- def self.base_hash(job_id: nil,
65
- job_class: nil,
66
- queue_name: nil,
67
- arguments: nil,
68
- executions: nil,
69
- provider_job_id: nil)
70
- h = {}
71
- h[LogField::JobId] = job_id unless job_id.nil?
72
- h[LogField::JobClass] = job_class unless job_class.nil?
47
+ sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
48
+ def to_h
49
+ h = T.let({}, T::Hash[LogStruct::LogField, T.untyped])
50
+ h[LogField::JobId] = job_id
51
+ h[LogField::JobClass] = job_class
73
52
  h[LogField::QueueName] = queue_name unless queue_name.nil?
74
53
  h[LogField::Arguments] = arguments unless arguments.nil?
75
54
  h[LogField::Executions] = executions unless executions.nil?
76
55
  h[LogField::ProviderJobId] = provider_job_id unless provider_job_id.nil?
77
- h
78
- end
79
-
80
- sig {
81
- params(started_at: T.untyped,
82
- job_id: T.untyped,
83
- job_class: T.untyped,
84
- queue_name: T.untyped,
85
- arguments: T.untyped,
86
- executions: T.untyped,
87
- provider_job_id: T.untyped,
88
- attempt: T.untyped,
89
- additional_data: T.untyped,
90
- timestamp: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
91
- }
92
- def self.build(started_at:,
93
- job_id:,
94
- job_class:,
95
- queue_name: nil,
96
- arguments: nil,
97
- executions: nil,
98
- provider_job_id: nil,
99
- attempt: nil,
100
- additional_data: nil,
101
- timestamp: Time.now)
102
- h = base_hash(job_id: job_id,
103
- job_class: job_class,
104
- queue_name: queue_name,
105
- arguments: arguments,
106
- executions: executions,
107
- provider_job_id: provider_job_id)
108
56
  h[LogField::StartedAt] = started_at
109
57
  h[LogField::Attempt] = attempt unless attempt.nil?
110
58
  h
111
59
  end
112
-
113
- sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
114
- def to_h
115
- self.class.build(
116
- job_id: job_id,
117
- job_class: job_class,
118
- queue_name: queue_name,
119
- arguments: arguments,
120
- executions: executions,
121
- provider_job_id: provider_job_id,
122
- started_at: started_at,
123
- attempt: attempt,
124
- timestamp: timestamp
125
- )
126
- end
127
60
  end
128
61
  end
129
62
  end
@@ -18,7 +18,7 @@ module LogStruct
18
18
  extend T::Sig
19
19
  const :job_id, String
20
20
  const :job_class, String
21
- const :queue_name, T.nilable(String), default: nil
21
+ const :queue_name, T.nilable(Symbol), default: nil
22
22
  const :arguments, T.nilable(T::Array[T.untyped]), default: nil
23
23
  const :executions, T.nilable(Integer), default: nil
24
24
  const :provider_job_id, T.nilable(String), default: nil
@@ -27,7 +27,7 @@ module LogStruct
27
27
  {
28
28
  job_id: String,
29
29
  job_class: String,
30
- queue_name: T.nilable(String),
30
+ queue_name: T.nilable(Symbol),
31
31
  arguments: T.nilable(T::Array[T.untyped]),
32
32
  executions: T.nilable(Integer),
33
33
  provider_job_id: T.nilable(String)
@@ -9,9 +9,9 @@
9
9
  require "log_struct/shared/interfaces/common_fields"
10
10
  require "log_struct/shared/interfaces/additional_data_field"
11
11
  require "log_struct/shared/interfaces/request_fields"
12
- require "log_struct/shared/shared/serialize_common"
13
- require "log_struct/shared/shared/merge_additional_data_fields"
14
- require "log_struct/shared/shared/add_request_fields"
12
+ require "log_struct/shared/serialize_common"
13
+ require "log_struct/shared/merge_additional_data_fields"
14
+ require "log_struct/shared/add_request_fields"
15
15
  require_relative "../enums/source"
16
16
  require_relative "../enums/event"
17
17
  require_relative "../enums/level"
@@ -20,11 +20,6 @@ require_relative "../enums/log_field"
20
20
  module LogStruct
21
21
  module Log
22
22
  class ActiveModelSerializers < T::Struct
23
- # typed: strict
24
- # frozen_string_literal: true
25
-
26
- extend T::Sig
27
-
28
23
  extend T::Sig
29
24
 
30
25
  # Shared/common fields
@@ -40,36 +35,13 @@ module LogStruct
40
35
  const :resource_class, T.nilable(String), default: nil
41
36
  const :duration_ms, Float
42
37
 
43
- # Additional data
44
-
45
- # Request fields (optional)
46
-
47
38
  # Serialize shared fields
48
39
  include LogStruct::Log::Interfaces::CommonFields
49
40
  include LogStruct::Log::Shared::SerializeCommon
50
41
 
51
42
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
52
- def self.base_hash
53
- {}
54
- end
55
-
56
- sig {
57
- params(message: T.untyped,
58
- duration_ms: T.untyped,
59
- serializer: T.untyped,
60
- adapter: T.untyped,
61
- resource_class: T.untyped,
62
- additional_data: T.untyped,
63
- timestamp: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
64
- }
65
- def self.build(message:,
66
- duration_ms:,
67
- serializer: nil,
68
- adapter: nil,
69
- resource_class: nil,
70
- additional_data: nil,
71
- timestamp: Time.now)
72
- h = base_hash
43
+ def to_h
44
+ h = T.let({}, T::Hash[LogStruct::LogField, T.untyped])
73
45
  h[LogField::Message] = message
74
46
  h[LogField::Serializer] = serializer unless serializer.nil?
75
47
  h[LogField::Adapter] = adapter unless adapter.nil?
@@ -77,18 +49,6 @@ module LogStruct
77
49
  h[LogField::DurationMs] = duration_ms
78
50
  h
79
51
  end
80
-
81
- sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
82
- def to_h
83
- self.class.build(
84
- message: message,
85
- serializer: serializer,
86
- adapter: adapter,
87
- resource_class: resource_class,
88
- duration_ms: duration_ms,
89
- timestamp: timestamp
90
- )
91
- end
92
52
  end
93
53
  end
94
54
  end
@@ -9,9 +9,9 @@
9
9
  require "log_struct/shared/interfaces/common_fields"
10
10
  require "log_struct/shared/interfaces/additional_data_field"
11
11
  require "log_struct/shared/interfaces/request_fields"
12
- require "log_struct/shared/shared/serialize_common"
13
- require "log_struct/shared/shared/merge_additional_data_fields"
14
- require "log_struct/shared/shared/add_request_fields"
12
+ require "log_struct/shared/serialize_common"
13
+ require "log_struct/shared/merge_additional_data_fields"
14
+ require "log_struct/shared/add_request_fields"
15
15
  require_relative "../../enums/source"
16
16
  require_relative "../../enums/event"
17
17
  require_relative "../../enums/level"
@@ -21,11 +21,6 @@ module LogStruct
21
21
  module Log
22
22
  class ActiveStorage
23
23
  class Delete < T::Struct
24
- # typed: strict
25
- # frozen_string_literal: true
26
-
27
- extend T::Sig
28
-
29
24
  extend T::Sig
30
25
 
31
26
  # Shared/common fields
@@ -34,52 +29,19 @@ module LogStruct
34
29
  const :timestamp, Time, factory: -> { Time.now }
35
30
  const :level, Level, default: Level::Info
36
31
 
37
- const :storage, String
32
+ const :storage, Symbol
38
33
  const :file_id, String
39
34
 
40
- # Event-specific fields
41
-
42
- # Additional data
43
-
44
- # Request fields (optional)
45
-
46
35
  # Serialize shared fields
47
36
  include LogStruct::Log::Interfaces::CommonFields
48
37
  include LogStruct::Log::Shared::SerializeCommon
49
38
 
50
- sig {
51
- params(storage: T.untyped,
52
- file_id: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
53
- }
54
- def self.base_hash(storage: nil,
55
- file_id: nil)
56
- h = {}
57
- h[LogField::Storage] = storage unless storage.nil?
58
- h[LogField::FileId] = file_id unless file_id.nil?
59
- h
60
- end
61
-
62
- sig {
63
- params(storage: T.untyped,
64
- file_id: T.untyped,
65
- additional_data: T.untyped,
66
- timestamp: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
67
- }
68
- def self.build(storage:,
69
- file_id:,
70
- additional_data: nil,
71
- timestamp: Time.now)
72
- base_hash(storage: storage,
73
- file_id: file_id)
74
- end
75
-
76
39
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
77
40
  def to_h
78
- self.class.build(
79
- storage: storage,
80
- file_id: file_id,
81
- timestamp: timestamp
82
- )
41
+ h = T.let({}, T::Hash[LogStruct::LogField, T.untyped])
42
+ h[LogField::Storage] = storage
43
+ h[LogField::FileId] = file_id
44
+ h
83
45
  end
84
46
  end
85
47
  end