judoscale-ruby 1.8.2 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 45e95bdaed7f0dae8a1cd613b3e8579a4666d808d12f27de4270055651991332
4
- data.tar.gz: 5062cd2bbc781bdd695e817c3b6ebbe165d4e9cab805c8efddc01cef7cadf39d
3
+ metadata.gz: 89e1c234767f82a457f3e3d9ddc185fb7229e0f4e8de84fd9861c51c07e27b9c
4
+ data.tar.gz: 3f899a16cb1454e3720468702db0401c17f684a5b8d7263b3830e97038cfea37
5
5
  SHA512:
6
- metadata.gz: 38e6c73e3758d97e20c453fb45cc6e098c1a50afec219b52b5bfaad297c2f11e8111ce96836235e290b4a4d7a0e8ee5a471b5c157c0fe0356b817e14a7c14412
7
- data.tar.gz: b5b700a87bcf636809db3e162c61cc35ddf9b0b2be26f68dd674cc9365e56cf5a88c46f3bda248297c05ef3045c05c1fed004bd4ff3257d2f02fac2f67e055a2
6
+ metadata.gz: 8183357c4717a609224e3bf8a15ef567d19e71d1b5de1027faa25e0480af7870eb44290a02929352a29d1c5b8581345218cc1bdd264ccf5cdf91eae0e5fa5ede
7
+ data.tar.gz: 71b1c714b3c1979394d39237873c28f40c2881151c53fac0f23a42d225686d3f76f31a10bbf792d6f31aac0e40a6d2e32eb064bb156cbbb9aeee9fa92a29dfc5
@@ -93,24 +93,28 @@ module Judoscale
93
93
 
94
94
  self.class.adapter_configs.each(&:reset)
95
95
 
96
- if ENV["RENDER_INSTANCE_ID"]
97
- instance = ENV["RENDER_INSTANCE_ID"].delete_prefix(ENV["RENDER_SERVICE_ID"]).delete_prefix("-")
98
- @current_runtime_container = RuntimeContainer.new instance
99
- # Allow a custom API base URL to be set for Render (for testing)
100
- @api_base_url ||= "https://adapter.judoscale.com/api"
101
- @api_base_url += "/#{ENV["RENDER_SERVICE_ID"]}"
102
- elsif ENV["DYNO"]
103
- @current_runtime_container = RuntimeContainer.new ENV["DYNO"]
104
- elsif (metadata_uri = ENV["ECS_CONTAINER_METADATA_URI"])
105
- @current_runtime_container = RuntimeContainer.new(metadata_uri.split("/").last)
106
- else
107
- # unsupported platform? Don't want to leave @current_runtime_container nil though
108
- @current_runtime_container = RuntimeContainer.new("")
109
- end
96
+ @current_runtime_container =
97
+ if ENV.include?("DYNO")
98
+ RuntimeContainer.new ENV["DYNO"]
99
+ elsif ENV.include?("RENDER_INSTANCE_ID")
100
+ # Deprecated API url using the service ID for legacy render services not using `JUDOSCALE_URL`.
101
+ @api_base_url ||= "https://adapter.judoscale.com/api/#{ENV["RENDER_SERVICE_ID"]}"
102
+
103
+ instance = ENV["RENDER_INSTANCE_ID"].delete_prefix("#{ENV["RENDER_SERVICE_ID"]}-")
104
+ RuntimeContainer.new instance
105
+ elsif ENV.include?("ECS_CONTAINER_METADATA_URI")
106
+ instance = ENV["ECS_CONTAINER_METADATA_URI"].split("/").last
107
+ RuntimeContainer.new instance
108
+ elsif ENV.include?("RAILWAY_REPLICA_ID")
109
+ RuntimeContainer.new ENV["RAILWAY_REPLICA_ID"]
110
+ else
111
+ # Unsupported platform...
112
+ RuntimeContainer.new("")
113
+ end
110
114
  end
111
115
 
112
116
  def log_level=(new_level)
113
- @log_level = new_level ? ::Logger::Severity.const_get(new_level.to_s.upcase) : nil
117
+ @log_level = get_severity_log_level(new_level)
114
118
  end
115
119
 
116
120
  def as_json
@@ -127,5 +131,21 @@ module Judoscale
127
131
  def ignore_large_requests?
128
132
  @max_request_size_bytes
129
133
  end
134
+
135
+ private
136
+
137
+ def get_severity_log_level(log_level)
138
+ return nil if log_level.to_s.strip.empty?
139
+
140
+ upcased_log_level = log_level.to_s.upcase
141
+
142
+ if ::Logger::Severity.const_defined?(upcased_log_level)
143
+ ::Logger::Severity.const_get(upcased_log_level)
144
+ else
145
+ logger.warn "Invalid log_level detected: #{log_level}"
146
+
147
+ nil
148
+ end
149
+ end
130
150
  end
131
151
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Judoscale
4
- VERSION = "1.8.2"
4
+ VERSION = "1.9.0"
5
5
  end
metadata CHANGED
@@ -1,18 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: judoscale-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.2
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam McCrea
8
8
  - Carlos Antonio da Silva
9
9
  - Jon Sullivan
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-10-16 00:00:00.000000000 Z
13
+ date: 2025-01-17 00:00:00.000000000 Z
14
14
  dependencies: []
15
- description:
15
+ description:
16
16
  email:
17
17
  - hello@judoscale.com
18
18
  executables: []
@@ -43,7 +43,7 @@ metadata:
43
43
  documentation_uri: https://judoscale.com/docs
44
44
  changelog_uri: https://github.com/judoscale/judoscale-ruby/blob/main/CHANGELOG.md
45
45
  source_code_uri: https://github.com/judoscale/judoscale-ruby
46
- post_install_message:
46
+ post_install_message:
47
47
  rdoc_options: []
48
48
  require_paths:
49
49
  - lib
@@ -58,8 +58,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
58
58
  - !ruby/object:Gem::Version
59
59
  version: '0'
60
60
  requirements: []
61
- rubygems_version: 3.5.16
62
- signing_key:
61
+ rubygems_version: 3.5.22
62
+ signing_key:
63
63
  specification_version: 4
64
64
  summary: Autoscaling for Ruby.
65
65
  test_files: []