logstruct 0.1.6 → 0.1.7

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: 39ad690f2ccb74a697feebdd40978e5cc99fd0c78d4ae550611c01d18aeb56fd
4
- data.tar.gz: 372f2cceb00b8def2054194161f234b8bd193005249c28490442cc0dc59de370
3
+ metadata.gz: 750db78cb4e028fb05695f5e964fdfbbc2dd982a7b2133cd1198865670053f3c
4
+ data.tar.gz: 696a60565cec213b7839ae205277fb03918b6addf94f77a0cb0d3ff4a665bbf8
5
5
  SHA512:
6
- metadata.gz: a8e626ed0af7de549e6aa9a1904421bad0605613d11810554a0defe015730f6bc6e28e2563b92b6460a33fc9d4203d7041727e2007a76218b844a8fce4724709
7
- data.tar.gz: 6b624235b3b53017a2721a37871e215e63fd38aa1d71591679e3976fe8fd26279f404cc37552908eaf52a3fb7b20ca4e872bed7f51c44a8dd10cd4cc41c0f806
6
+ metadata.gz: af5cf6e7f8cbc7c5aae60373b7ec35ec7ce1287edc565a3a0066b539121ef542569d401bb52c229fe72f7a50b14b332849eab5a36c61f832602f636520a0bb47
7
+ data.tar.gz: a001cc4101614c1a2e2557175c2605ac1e33f1a57620d4a4b11e06d54c55caba6bf1087224bdf9a18011779045cc59d859827c29c8e9e7a64b961318e0661f07
data/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ### Changed
9
9
 
10
+ ## [0.1.7] - 2025-12-06
11
+
12
+ - **Fix**: Puma server detection now uses `$PROGRAM_NAME` instead of checking `defined?(::Puma::Server)` which was unreliable
13
+ - **Fix**: Test isolation for `server_mode` state in configuration tests
14
+ - **CI**: Updated to Ruby 3.4.7 and Rails 8.1.1
15
+
10
16
  ## [0.1.6] - 2025-11-30
11
17
 
12
18
  - Rename `PROVIDER_PUSH_TOKEN` secret to `TF_PROVIDER_GITHUB_TOKEN`
@@ -10,7 +10,6 @@ module LogStruct
10
10
  module ClassMethods
11
11
  extend T::Sig
12
12
 
13
- SERVER_COMMAND_ARGS = T.let(["server", "s"].freeze, T::Array[String])
14
13
  CONSOLE_COMMAND_ARGS = T.let(["console", "c"].freeze, T::Array[String])
15
14
  EMPTY_ARGV = T.let([].freeze, T::Array[String])
16
15
  CI_FALSE_VALUES = T.let(["false", "0", "no"].freeze, T::Array[String])
@@ -133,8 +132,26 @@ module LogStruct
133
132
  sig { returns(T::Boolean) }
134
133
  def server_process?
135
134
  return true if logstruct_server_mode?
135
+ return true if puma_server?
136
+ return true if defined?(::Unicorn::HttpServer)
137
+ return true if defined?(::Thin::Server)
138
+ return true if defined?(::Falcon::Server)
139
+ return true if defined?(::Rails::Server)
140
+ return true if sidekiq_server?
141
+
142
+ false
143
+ end
136
144
 
137
- current_argv.any? { |arg| SERVER_COMMAND_ARGS.include?(arg) }
145
+ sig { returns(T::Boolean) }
146
+ def puma_server?
147
+ # Just checking defined?(::Puma::Server) is not reliable - Puma might be installed
148
+ # but not running. Check $PROGRAM_NAME to verify we're actually running puma.
149
+ $PROGRAM_NAME.include?("puma")
150
+ end
151
+
152
+ sig { returns(T::Boolean) }
153
+ def sidekiq_server?
154
+ !!(defined?(::Sidekiq) && ::Sidekiq.respond_to?(:server?) && ::Sidekiq.server?)
138
155
  end
139
156
 
140
157
  sig { returns(T::Boolean) }
@@ -101,7 +101,7 @@ module LogStruct
101
101
 
102
102
  sig { params(app: T.untyped).returns(Symbol) }
103
103
  def self.determine_log_level(app)
104
- if app.config.log_level
104
+ level = if app.config.log_level
105
105
  app.config.log_level
106
106
  elsif Rails.env.production?
107
107
  :info
@@ -110,6 +110,8 @@ module LogStruct
110
110
  else
111
111
  :debug
112
112
  end
113
+ # Rails config.log_level can be a String or Symbol
114
+ level.is_a?(String) ? level.to_sym : level
113
115
  end
114
116
 
115
117
  sig { params(app: T.untyped).void }
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module LogStruct
5
- VERSION = "0.1.6"
5
+ VERSION = "0.1.7"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstruct
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - DocSpring