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 CarrierWave
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,81 +29,32 @@ 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
  const :uploader, T.nilable(String), default: nil
40
35
  const :model, T.nilable(String), default: nil
41
36
  const :mount_point, T.nilable(String), default: nil
42
-
43
- # Event-specific fields
44
-
45
- # Additional data
46
- include LogStruct::Log::Interfaces::AdditionalDataField
47
- const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil
48
- include LogStruct::Log::Shared::MergeAdditionalDataFields
49
-
50
- # Request fields (optional)
37
+ const :version, T.nilable(String), default: nil
38
+ const :store_path, T.nilable(String), default: nil
39
+ const :extension, T.nilable(String), default: nil
51
40
 
52
41
  # Serialize shared fields
53
42
  include LogStruct::Log::Interfaces::CommonFields
54
43
  include LogStruct::Log::Shared::SerializeCommon
55
44
 
56
- sig {
57
- params(storage: T.untyped,
58
- file_id: T.untyped,
59
- uploader: T.untyped,
60
- model: T.untyped,
61
- mount_point: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
62
- }
63
- def self.base_hash(storage: nil,
64
- file_id: nil,
65
- uploader: nil,
66
- model: nil,
67
- mount_point: nil)
68
- h = {}
69
- h[LogField::Storage] = storage unless storage.nil?
70
- h[LogField::FileId] = file_id unless file_id.nil?
45
+ sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
46
+ def to_h
47
+ h = T.let({}, T::Hash[LogStruct::LogField, T.untyped])
48
+ h[LogField::Storage] = storage
49
+ h[LogField::FileId] = file_id
71
50
  h[LogField::Uploader] = uploader unless uploader.nil?
72
51
  h[LogField::Model] = model unless model.nil?
73
52
  h[LogField::MountPoint] = mount_point unless mount_point.nil?
53
+ h[LogField::Version] = version unless version.nil?
54
+ h[LogField::StorePath] = store_path unless store_path.nil?
55
+ h[LogField::Extension] = extension unless extension.nil?
74
56
  h
75
57
  end
76
-
77
- sig {
78
- params(storage: T.untyped,
79
- file_id: T.untyped,
80
- uploader: T.untyped,
81
- model: T.untyped,
82
- mount_point: T.untyped,
83
- additional_data: T.untyped,
84
- timestamp: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
85
- }
86
- def self.build(storage:,
87
- file_id:,
88
- uploader: nil,
89
- model: nil,
90
- mount_point: nil,
91
- additional_data: nil,
92
- timestamp: Time.now)
93
- base_hash(storage: storage,
94
- file_id: file_id,
95
- uploader: uploader,
96
- model: model,
97
- mount_point: mount_point)
98
- end
99
-
100
- sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
101
- def to_h
102
- self.class.build(
103
- storage: storage,
104
- file_id: file_id,
105
- uploader: uploader,
106
- model: model,
107
- mount_point: mount_point,
108
- additional_data: additional_data,
109
- timestamp: timestamp
110
- )
111
- end
112
58
  end
113
59
  end
114
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 CarrierWave
23
23
  class Download < 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,97 +29,40 @@ 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
  const :uploader, T.nilable(String), default: nil
40
35
  const :model, T.nilable(String), default: nil
41
36
  const :mount_point, T.nilable(String), default: nil
37
+ const :version, T.nilable(String), default: nil
38
+ const :store_path, T.nilable(String), default: nil
39
+ const :extension, T.nilable(String), default: nil
42
40
 
43
41
  # Event-specific fields
44
42
  const :filename, T.nilable(String), default: nil
45
43
  const :mime_type, T.nilable(String), default: nil
46
44
  const :size, T.nilable(Integer), default: nil
47
45
 
48
- # Additional data
49
- include LogStruct::Log::Interfaces::AdditionalDataField
50
- const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil
51
- include LogStruct::Log::Shared::MergeAdditionalDataFields
52
-
53
- # Request fields (optional)
54
-
55
46
  # Serialize shared fields
56
47
  include LogStruct::Log::Interfaces::CommonFields
57
48
  include LogStruct::Log::Shared::SerializeCommon
58
49
 
59
- sig {
60
- params(storage: T.untyped,
61
- file_id: T.untyped,
62
- uploader: T.untyped,
63
- model: T.untyped,
64
- mount_point: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
65
- }
66
- def self.base_hash(storage: nil,
67
- file_id: nil,
68
- uploader: nil,
69
- model: nil,
70
- mount_point: nil)
71
- h = {}
72
- h[LogField::Storage] = storage unless storage.nil?
73
- h[LogField::FileId] = file_id unless file_id.nil?
50
+ sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
51
+ def to_h
52
+ h = T.let({}, T::Hash[LogStruct::LogField, T.untyped])
53
+ h[LogField::Storage] = storage
54
+ h[LogField::FileId] = file_id
74
55
  h[LogField::Uploader] = uploader unless uploader.nil?
75
56
  h[LogField::Model] = model unless model.nil?
76
57
  h[LogField::MountPoint] = mount_point unless mount_point.nil?
77
- h
78
- end
79
-
80
- sig {
81
- params(storage: T.untyped,
82
- file_id: T.untyped,
83
- uploader: T.untyped,
84
- model: T.untyped,
85
- mount_point: T.untyped,
86
- filename: T.untyped,
87
- mime_type: T.untyped,
88
- size: T.untyped,
89
- additional_data: T.untyped,
90
- timestamp: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
91
- }
92
- def self.build(storage:,
93
- file_id:,
94
- uploader: nil,
95
- model: nil,
96
- mount_point: nil,
97
- filename: nil,
98
- mime_type: nil,
99
- size: nil,
100
- additional_data: nil,
101
- timestamp: Time.now)
102
- h = base_hash(storage: storage,
103
- file_id: file_id,
104
- uploader: uploader,
105
- model: model,
106
- mount_point: mount_point)
58
+ h[LogField::Version] = version unless version.nil?
59
+ h[LogField::StorePath] = store_path unless store_path.nil?
60
+ h[LogField::Extension] = extension unless extension.nil?
107
61
  h[LogField::Filename] = filename unless filename.nil?
108
62
  h[LogField::MimeType] = mime_type unless mime_type.nil?
109
63
  h[LogField::Size] = size unless size.nil?
110
64
  h
111
65
  end
112
-
113
- sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
114
- def to_h
115
- self.class.build(
116
- storage: storage,
117
- file_id: file_id,
118
- uploader: uploader,
119
- model: model,
120
- mount_point: mount_point,
121
- filename: filename,
122
- mime_type: mime_type,
123
- size: size,
124
- additional_data: additional_data,
125
- timestamp: timestamp
126
- )
127
- end
128
66
  end
129
67
  end
130
68
  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 CarrierWave
23
23
  class Upload < 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,11 +29,14 @@ 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
  const :uploader, T.nilable(String), default: nil
40
35
  const :model, T.nilable(String), default: nil
41
36
  const :mount_point, T.nilable(String), default: nil
37
+ const :version, T.nilable(String), default: nil
38
+ const :store_path, T.nilable(String), default: nil
39
+ const :extension, T.nilable(String), default: nil
42
40
 
43
41
  # Event-specific fields
44
42
  const :filename, T.nilable(String), default: nil
@@ -47,69 +45,21 @@ module LogStruct
47
45
  const :metadata, T.nilable(T::Hash[String, T.untyped]), default: nil
48
46
  const :duration_ms, T.nilable(Float), default: nil
49
47
 
50
- # Additional data
51
- include LogStruct::Log::Interfaces::AdditionalDataField
52
- const :additional_data, T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), default: nil
53
- include LogStruct::Log::Shared::MergeAdditionalDataFields
54
-
55
- # Request fields (optional)
56
-
57
48
  # Serialize shared fields
58
49
  include LogStruct::Log::Interfaces::CommonFields
59
50
  include LogStruct::Log::Shared::SerializeCommon
60
51
 
61
- sig {
62
- params(storage: T.untyped,
63
- file_id: T.untyped,
64
- uploader: T.untyped,
65
- model: T.untyped,
66
- mount_point: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
67
- }
68
- def self.base_hash(storage: nil,
69
- file_id: nil,
70
- uploader: nil,
71
- model: nil,
72
- mount_point: nil)
73
- h = {}
74
- h[LogField::Storage] = storage unless storage.nil?
75
- h[LogField::FileId] = file_id unless file_id.nil?
52
+ sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
53
+ def to_h
54
+ h = T.let({}, T::Hash[LogStruct::LogField, T.untyped])
55
+ h[LogField::Storage] = storage
56
+ h[LogField::FileId] = file_id
76
57
  h[LogField::Uploader] = uploader unless uploader.nil?
77
58
  h[LogField::Model] = model unless model.nil?
78
59
  h[LogField::MountPoint] = mount_point unless mount_point.nil?
79
- h
80
- end
81
-
82
- sig {
83
- params(storage: T.untyped,
84
- file_id: T.untyped,
85
- uploader: T.untyped,
86
- model: T.untyped,
87
- mount_point: T.untyped,
88
- filename: T.untyped,
89
- mime_type: T.untyped,
90
- size: T.untyped,
91
- metadata: T.untyped,
92
- duration_ms: T.untyped,
93
- additional_data: T.untyped,
94
- timestamp: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
95
- }
96
- def self.build(storage:,
97
- file_id:,
98
- uploader: nil,
99
- model: nil,
100
- mount_point: nil,
101
- filename: nil,
102
- mime_type: nil,
103
- size: nil,
104
- metadata: nil,
105
- duration_ms: nil,
106
- additional_data: nil,
107
- timestamp: Time.now)
108
- h = base_hash(storage: storage,
109
- file_id: file_id,
110
- uploader: uploader,
111
- model: model,
112
- mount_point: mount_point)
60
+ h[LogField::Version] = version unless version.nil?
61
+ h[LogField::StorePath] = store_path unless store_path.nil?
62
+ h[LogField::Extension] = extension unless extension.nil?
113
63
  h[LogField::Filename] = filename unless filename.nil?
114
64
  h[LogField::MimeType] = mime_type unless mime_type.nil?
115
65
  h[LogField::Size] = size unless size.nil?
@@ -117,24 +67,6 @@ module LogStruct
117
67
  h[LogField::DurationMs] = duration_ms unless duration_ms.nil?
118
68
  h
119
69
  end
120
-
121
- sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
122
- def to_h
123
- self.class.build(
124
- storage: storage,
125
- file_id: file_id,
126
- uploader: uploader,
127
- model: model,
128
- mount_point: mount_point,
129
- filename: filename,
130
- mime_type: mime_type,
131
- size: size,
132
- metadata: metadata,
133
- duration_ms: duration_ms,
134
- additional_data: additional_data,
135
- timestamp: timestamp
136
- )
137
- end
138
70
  end
139
71
  end
140
72
  end
@@ -15,19 +15,25 @@ module LogStruct
15
15
  class CarrierWave
16
16
  class BaseFields < T::Struct
17
17
  extend T::Sig
18
- const :storage, String
18
+ const :storage, Symbol
19
19
  const :file_id, String
20
20
  const :uploader, T.nilable(String), default: nil
21
21
  const :model, T.nilable(String), default: nil
22
22
  const :mount_point, T.nilable(String), default: nil
23
+ const :version, T.nilable(String), default: nil
24
+ const :store_path, T.nilable(String), default: nil
25
+ const :extension, T.nilable(String), default: nil
23
26
 
24
27
  Kwargs = T.type_alias do
25
28
  {
26
- storage: String,
29
+ storage: Symbol,
27
30
  file_id: String,
28
31
  uploader: T.nilable(String),
29
32
  model: T.nilable(String),
30
- mount_point: T.nilable(String)
33
+ mount_point: T.nilable(String),
34
+ version: T.nilable(String),
35
+ store_path: T.nilable(String),
36
+ extension: T.nilable(String)
31
37
  }
32
38
  end
33
39
 
@@ -38,7 +44,10 @@ module LogStruct
38
44
  file_id: file_id,
39
45
  uploader: uploader,
40
46
  model: model,
41
- mount_point: mount_point
47
+ mount_point: mount_point,
48
+ version: version,
49
+ store_path: store_path,
50
+ extension: extension
42
51
  }
43
52
  end
44
53
  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 Dotenv
23
23
  class Load < 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
@@ -37,39 +32,16 @@ module LogStruct
37
32
  # Event-specific fields
38
33
  const :file, String
39
34
 
40
- # Additional data
41
-
42
- # Request fields (optional)
43
-
44
35
  # Serialize shared fields
45
36
  include LogStruct::Log::Interfaces::CommonFields
46
37
  include LogStruct::Log::Shared::SerializeCommon
47
38
 
48
39
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
49
- def self.base_hash
50
- {}
51
- end
52
-
53
- sig {
54
- params(file: T.untyped,
55
- additional_data: T.untyped,
56
- timestamp: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
57
- }
58
- def self.build(file:,
59
- additional_data: nil,
60
- timestamp: Time.now)
61
- h = base_hash
40
+ def to_h
41
+ h = T.let({}, T::Hash[LogStruct::LogField, T.untyped])
62
42
  h[LogField::File] = file
63
43
  h
64
44
  end
65
-
66
- sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
67
- def to_h
68
- self.class.build(
69
- file: file,
70
- timestamp: timestamp
71
- )
72
- end
73
45
  end
74
46
  end
75
47
  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 Dotenv
23
23
  class Restore < 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
@@ -37,39 +32,16 @@ module LogStruct
37
32
  # Event-specific fields
38
33
  const :vars, T::Array[String]
39
34
 
40
- # Additional data
41
-
42
- # Request fields (optional)
43
-
44
35
  # Serialize shared fields
45
36
  include LogStruct::Log::Interfaces::CommonFields
46
37
  include LogStruct::Log::Shared::SerializeCommon
47
38
 
48
39
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
49
- def self.base_hash
50
- {}
51
- end
52
-
53
- sig {
54
- params(vars: T.untyped,
55
- additional_data: T.untyped,
56
- timestamp: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
57
- }
58
- def self.build(vars:,
59
- additional_data: nil,
60
- timestamp: Time.now)
61
- h = base_hash
40
+ def to_h
41
+ h = T.let({}, T::Hash[LogStruct::LogField, T.untyped])
62
42
  h[LogField::Vars] = vars
63
43
  h
64
44
  end
65
-
66
- sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
67
- def to_h
68
- self.class.build(
69
- vars: vars,
70
- timestamp: timestamp
71
- )
72
- end
73
45
  end
74
46
  end
75
47
  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 Dotenv
23
23
  class Save < 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
@@ -37,39 +32,16 @@ module LogStruct
37
32
  # Event-specific fields
38
33
  const :snapshot, T::Boolean
39
34
 
40
- # Additional data
41
-
42
- # Request fields (optional)
43
-
44
35
  # Serialize shared fields
45
36
  include LogStruct::Log::Interfaces::CommonFields
46
37
  include LogStruct::Log::Shared::SerializeCommon
47
38
 
48
39
  sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
49
- def self.base_hash
50
- {}
51
- end
52
-
53
- sig {
54
- params(snapshot: T.untyped,
55
- additional_data: T.untyped,
56
- timestamp: T.untyped).returns(T::Hash[LogStruct::LogField, T.untyped])
57
- }
58
- def self.build(snapshot:,
59
- additional_data: nil,
60
- timestamp: Time.now)
61
- h = base_hash
40
+ def to_h
41
+ h = T.let({}, T::Hash[LogStruct::LogField, T.untyped])
62
42
  h[LogField::Snapshot] = snapshot
63
43
  h
64
44
  end
65
-
66
- sig { returns(T::Hash[LogStruct::LogField, T.untyped]) }
67
- def to_h
68
- self.class.build(
69
- snapshot: snapshot,
70
- timestamp: timestamp
71
- )
72
- end
73
45
  end
74
46
  end
75
47
  end