judoscale-ruby 1.0.0.rc2 → 1.1.1

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: 6ec3b89458d553902b60287bec9c3d5a86db77bc17d525264733e35da6bc4447
4
- data.tar.gz: ce7fa95c5d69b38f84afe75bb24ab51f07687299eadd112945d2eed75d7c2607
3
+ metadata.gz: 06d6051251ff5f628677d931e240a35ce4f93ec8409d3e9ba8e539ec300a96d6
4
+ data.tar.gz: ce94920cc35eff9f6cf328df39c84e2f0a25bd681422ab8111434311ba33cbc4
5
5
  SHA512:
6
- metadata.gz: 01bc6d8713dec20c578fdcbf3dd91cbcf3cf6c1894e7431773d26b4f1fc63fd8b45d5170e8ad47a43b905d0a56f53e0c1f8ab7192056ac10f1bcd11b9d809b44
7
- data.tar.gz: 227e0a5a91a4f7389d72a0b34fb8b19627616c3f8e772bf05c921f2ed761233e1ff0ff4d4cc937993c35fa92fff660252bd743202a690a4460050df34277c142
6
+ metadata.gz: 21110c610a6619f3750901aade4e3a2bef813d16cfb78956225972d7b57f5769769419dcd0bf2a5d1933bf8e0760601ae35cc81d0b84078bd4232f4fadacca1d
7
+ data.tar.gz: f5f7f33785b2f0554907abce78bc0e6e10dd1e2ebf773e2b5ae9fb366fa30a024de89477ee542b43c2ac09e7fcae49db944bfe879529ae0beb2dbc652f4051c5
data/Gemfile CHANGED
@@ -1,7 +1,9 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gemspec
3
+ gemspec name: "judoscale-ruby"
4
4
 
5
5
  gem "rake", ">= 12.3.3"
6
+ gem "rake-release"
6
7
  gem "minitest"
7
8
  gem "webmock"
9
+ gem "debug"
data/Gemfile.lock CHANGED
@@ -1,21 +1,31 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- judoscale-ruby (1.0.0.rc2)
4
+ judoscale-ruby (1.1.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- addressable (2.8.0)
10
- public_suffix (>= 2.0.2, < 5.0)
9
+ addressable (2.8.1)
10
+ public_suffix (>= 2.0.2, < 6.0)
11
11
  crack (0.4.5)
12
12
  rexml
13
+ debug (1.4.0)
14
+ irb (>= 1.3.6)
15
+ reline (>= 0.2.7)
13
16
  hashdiff (1.0.1)
17
+ io-console (0.5.11)
18
+ irb (1.4.1)
19
+ reline (>= 0.3.0)
14
20
  minitest (5.15.0)
15
- public_suffix (4.0.6)
21
+ public_suffix (5.0.0)
16
22
  rake (13.0.6)
23
+ rake-release (1.3.0)
24
+ bundler (>= 1.11, < 3)
25
+ reline (0.3.1)
26
+ io-console (~> 0.5)
17
27
  rexml (3.2.5)
18
- webmock (3.14.0)
28
+ webmock (3.18.1)
19
29
  addressable (>= 2.8.0)
20
30
  crack (>= 0.3.2)
21
31
  hashdiff (>= 0.4.0, < 2.0.0)
@@ -27,9 +37,11 @@ PLATFORMS
27
37
  x86_64-linux
28
38
 
29
39
  DEPENDENCIES
40
+ debug
30
41
  judoscale-ruby!
31
42
  minitest
32
43
  rake (>= 12.3.3)
44
+ rake-release
33
45
  webmock
34
46
 
35
47
  BUNDLED WITH
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "bundler/gem_tasks"
3
+ require "rake/release"
4
4
  require "rake/testtask"
5
5
 
6
6
  Rake::TestTask.new(:test) do |t|
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "judoscale/config"
4
- require "judoscale/version"
3
+ require "rails_autoscale/config"
4
+ require "rails_autoscale/version"
5
5
 
6
- module Judoscale
7
- # Allows configuring Judoscale through a block, usually defined during application initialization.
6
+ module RailsAutoscale
7
+ # Allows configuring Rails Autoscale through a block, usually defined during application initialization.
8
8
  #
9
9
  # Example:
10
10
  #
11
- # Judoscale.configure do |config|
11
+ # RailsAutoscale.configure do |config|
12
12
  # config.logger = MyLogger.new
13
13
  # end
14
14
  def self.configure
@@ -31,8 +31,10 @@ module Judoscale
31
31
  @adapters << Adapter.new(identifier, adapter_info, metrics_collector)
32
32
  end
33
33
 
34
- add_adapter :"judoscale-ruby", {
34
+ add_adapter :"rails-autoscale-core", {
35
35
  adapter_version: VERSION,
36
36
  language_version: RUBY_VERSION
37
37
  }
38
38
  end
39
+
40
+ Judoscale = RailsAutoscale
@@ -3,9 +3,9 @@
3
3
  require "net/http"
4
4
  require "uri"
5
5
  require "json"
6
- require "judoscale/logger"
6
+ require "rails_autoscale/logger"
7
7
 
8
- module Judoscale
8
+ module RailsAutoscale
9
9
  class AdapterApi
10
10
  include Logger
11
11
 
@@ -27,6 +27,7 @@ module Judoscale
27
27
  end
28
28
 
29
29
  def post_raw(options)
30
+ attempts ||= 1
30
31
  uri = URI.parse("#{@config.api_base_url}#{options.fetch(:path)}")
31
32
  ssl = uri.scheme == "https"
32
33
 
@@ -42,6 +43,15 @@ module Judoscale
42
43
  when 200...300 then SuccessResponse.new(response.body)
43
44
  else FailureResponse.new([response.code, response.message].join(" - "))
44
45
  end
46
+ rescue Net::OpenTimeout
47
+ if attempts < 3
48
+ # TCP timeouts happen sometimes, but they can usually be successfully retried in a moment
49
+ sleep 0.01
50
+ attempts += 1
51
+ retry
52
+ else
53
+ FailureResponse.new("Timeout while obtaining TCP connection to #{uri.host}")
54
+ end
45
55
  end
46
56
 
47
57
  class SuccessResponse < Struct.new(:body)
@@ -3,7 +3,7 @@
3
3
  require "singleton"
4
4
  require "logger"
5
5
 
6
- module Judoscale
6
+ module RailsAutoscale
7
7
  class Config
8
8
  class Dyno
9
9
  attr_reader :name, :num
@@ -31,10 +31,12 @@ module Judoscale
31
31
 
32
32
  def reset
33
33
  @enabled = true
34
- @max_queues = 20
35
34
  @queues = []
36
35
  @queue_filter = DEFAULT_QUEUE_FILTER
37
- @track_busy_jobs = false
36
+
37
+ # Support for deprecated legacy env var configs.
38
+ @max_queues = (ENV["RAILS_AUTOSCALE_MAX_QUEUES"] || 20).to_i
39
+ @track_busy_jobs = ENV["RAILS_AUTOSCALE_LONG_JOBS"] == "true"
38
40
  end
39
41
 
40
42
  def as_json
@@ -64,7 +66,7 @@ module Judoscale
64
66
  end
65
67
  end
66
68
 
67
- attr_accessor :api_base_url, :report_interval_seconds, :max_request_size_bytes, :logger
69
+ attr_accessor :api_base_url, :report_interval_seconds, :max_request_size_bytes, :logger, :log_tag
68
70
  attr_reader :dyno, :log_level
69
71
 
70
72
  def initialize
@@ -73,11 +75,12 @@ module Judoscale
73
75
 
74
76
  def reset
75
77
  # Allow the API URL to be configured - needed for testing.
76
- @api_base_url = ENV["JUDOSCALE_URL"]
78
+ @api_base_url = ENV["RAILS_AUTOSCALE_URL"] || ENV["JUDOSCALE_URL"]
79
+ @log_tag = ENV["JUDOSCALE_URL"] ? "Judoscale" : "RailsAutoscale"
77
80
  self.dyno = ENV["DYNO"]
78
81
  @max_request_size_bytes = 100_000 # ignore request payloads over 100k since they skew the queue times
79
82
  @report_interval_seconds = 10
80
- self.log_level = ENV["JUDOSCALE_LOG_LEVEL"]
83
+ self.log_level = ENV["RAILS_AUTOSCALE_LOG_LEVEL"] || ENV["JUDOSCALE_LOG_LEVEL"]
81
84
  @logger = ::Logger.new($stdout)
82
85
 
83
86
  self.class.adapter_configs.each(&:reset)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Judoscale
3
+ module RailsAutoscale
4
4
  class JobMetricsCollector
5
5
  module ActiveRecordHelper
6
6
  # Cleanup any whitespace characters (including new lines) from the SQL for simpler logging.
@@ -24,7 +24,7 @@ module Judoscale
24
24
 
25
25
  def select_rows_tagged(sql)
26
26
  if ActiveRecord::Base.logger.respond_to?(:tagged)
27
- ActiveRecord::Base.logger.tagged(Judoscale::LoggerProxy::TAG) { select_rows(sql) }
27
+ ActiveRecord::Base.logger.tagged(Config.instance.log_tag) { select_rows(sql) }
28
28
  else
29
29
  select_rows(sql)
30
30
  end
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "set"
4
- require "judoscale/metrics_collector"
5
- require "judoscale/logger"
4
+ require "rails_autoscale/metrics_collector"
5
+ require "rails_autoscale/logger"
6
6
 
7
- module Judoscale
7
+ module RailsAutoscale
8
8
  class JobMetricsCollector < MetricsCollector
9
- include Judoscale::Logger
9
+ include RailsAutoscale::Logger
10
10
 
11
11
  # It's redundant to report these metrics from every dyno, so only report from the first one.
12
12
  def self.collect?(config)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "judoscale/config"
3
+ require "rails_autoscale/config"
4
4
  require "logger"
5
5
 
6
- module Judoscale
6
+ module RailsAutoscale
7
7
  module Logger
8
8
  def logger
9
9
  @logger ||= LoggerProxy.new(Config.instance.logger, Config.instance.log_level)
@@ -11,19 +11,20 @@ module Judoscale
11
11
  end
12
12
 
13
13
  class LoggerProxy < Struct.new(:logger, :log_level)
14
- TAG = "Judoscale"
15
-
16
- %w[ERROR WARN INFO DEBUG].each do |severity_name|
14
+ %w[ERROR WARN INFO DEBUG FATAL].each do |severity_name|
17
15
  severity_level = ::Logger::Severity.const_get(severity_name)
18
16
 
19
17
  define_method(severity_name.downcase) do |*messages|
20
18
  if log_level.nil?
21
- logger.add(severity_level) { tag(messages) }
19
+ logger.public_send(severity_name.downcase) { tag(messages) }
22
20
  elsif severity_level >= log_level
23
21
  if severity_level >= logger.level
24
- logger.add(severity_level) { tag(messages) }
22
+ logger.public_send(severity_name.downcase) { tag(messages) }
25
23
  else
26
- logger.add(logger.level) { tag(messages, tag_level: severity_name) }
24
+ # Our logger proxy is configured with a lower severity level than the underlying logger,
25
+ # so send this message using the underlying logger severity instead of the actual severity.
26
+ logger_severity_name = ::Logger::SEV_LABEL[logger.level].downcase
27
+ logger.public_send(logger_severity_name) { tag(messages, tag_level: severity_name) }
27
28
  end
28
29
  end
29
30
  end
@@ -32,7 +33,7 @@ module Judoscale
32
33
  private
33
34
 
34
35
  def tag(msgs, tag_level: nil)
35
- tag = +"[#{TAG}]"
36
+ tag = +"[#{Config.instance.log_tag}]"
36
37
  tag << " [#{tag_level}]" if tag_level
37
38
  msgs.map { |msg| "#{tag} #{msg}" }.join("\n")
38
39
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Judoscale
3
+ module RailsAutoscale
4
4
  class Metric < Struct.new(:identifier, :value, :time, :queue_name)
5
5
  # No queue_name is assumed to be a web request metric
6
6
  # Metrics: qt = queue time (default), qd = queue depth, busy
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Judoscale
3
+ module RailsAutoscale
4
4
  class MetricsCollector
5
5
  def self.collect?(config)
6
6
  true
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "singleton"
4
- require "judoscale/metric"
5
- require "judoscale/report"
4
+ require "rails_autoscale/metric"
5
+ require "rails_autoscale/report"
6
6
 
7
- module Judoscale
7
+ module RailsAutoscale
8
8
  class MetricsStore
9
9
  include Singleton
10
10
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Judoscale
3
+ module RailsAutoscale
4
4
  class Report
5
5
  attr_reader :adapters, :config, :metrics
6
6
 
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "singleton"
4
- require "judoscale/config"
5
- require "judoscale/logger"
6
- require "judoscale/adapter_api"
7
- require "judoscale/job_metrics_collector"
8
- require "judoscale/web_metrics_collector"
4
+ require "rails_autoscale/config"
5
+ require "rails_autoscale/logger"
6
+ require "rails_autoscale/adapter_api"
7
+ require "rails_autoscale/job_metrics_collector"
8
+ require "rails_autoscale/web_metrics_collector"
9
9
 
10
- module Judoscale
10
+ module RailsAutoscale
11
11
  class Reporter
12
12
  include Singleton
13
13
  include Logger
14
14
 
15
- def self.start(config = Config.instance, adapters = Judoscale.adapters)
15
+ def self.start(config = Config.instance, adapters = RailsAutoscale.adapters)
16
16
  instance.start!(config, adapters) unless instance.started?
17
17
  end
18
18
 
@@ -20,7 +20,7 @@ module Judoscale
20
20
  @pid = Process.pid
21
21
 
22
22
  if !config.api_base_url
23
- logger.info "Reporter not started: JUDOSCALE_URL is not set"
23
+ logger.info "Reporter not started: RAILS_AUTOSCALE_URL is not set"
24
24
  return
25
25
  end
26
26
 
@@ -76,7 +76,7 @@ module Judoscale
76
76
  private
77
77
 
78
78
  def report(config, metrics)
79
- report = Report.new(Judoscale.adapters, config, metrics)
79
+ report = Report.new(RailsAutoscale.adapters, config, metrics)
80
80
  logger.info "Reporting #{report.metrics.size} metrics"
81
81
  result = AdapterApi.new(config).report_metrics(report.as_json)
82
82
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Judoscale
3
+ module RailsAutoscale
4
4
  class RequestMetrics
5
5
  attr_reader :request_id, :size, :network_time
6
6
 
@@ -36,7 +36,7 @@ module Judoscale
36
36
  queue_time -= network_time
37
37
 
38
38
  # Safeguard against negative queue times (should not happen in practice)
39
- queue_time > 0 ? queue_time : 0
39
+ (queue_time > 0) ? queue_time : 0
40
40
  end
41
41
  end
42
42
  end
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "judoscale/metrics_store"
4
- require "judoscale/reporter"
5
- require "judoscale/logger"
6
- require "judoscale/request_metrics"
3
+ require "rails_autoscale/metrics_store"
4
+ require "rails_autoscale/reporter"
5
+ require "rails_autoscale/logger"
6
+ require "rails_autoscale/request_metrics"
7
7
 
8
- module Judoscale
8
+ module RailsAutoscale
9
9
  class RequestMiddleware
10
10
  include Logger
11
11
 
@@ -27,11 +27,11 @@ module Judoscale
27
27
  store = MetricsStore.instance
28
28
 
29
29
  # NOTE: Expose queue time to the app
30
- env["judoscale.queue_time"] = queue_time
30
+ env["rails_autoscale.queue_time"] = queue_time
31
31
  store.push :qt, queue_time
32
32
 
33
33
  unless network_time.zero?
34
- env["judoscale.network_time"] = network_time
34
+ env["rails_autoscale.network_time"] = network_time
35
35
  store.push :nt, network_time
36
36
  end
37
37
 
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RailsAutoscale
4
+ VERSION = "1.1.1"
5
+ end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "judoscale/metrics_collector"
4
- require "judoscale/metrics_store"
3
+ require "rails_autoscale/metrics_collector"
4
+ require "rails_autoscale/metrics_store"
5
5
 
6
- module Judoscale
6
+ module RailsAutoscale
7
7
  class WebMetricsCollector < MetricsCollector
8
8
  def self.collect?(config)
9
9
  config.dyno.name == "web"
@@ -0,0 +1,27 @@
1
+ lib = File.expand_path("../lib", __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require "rails_autoscale/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "rails-autoscale-core"
7
+ spec.version = RailsAutoscale::VERSION
8
+ spec.authors = ["Adam McCrea", "Carlos Antonio da Silva"]
9
+ spec.email = ["adam@adamlogic.com"]
10
+
11
+ spec.summary = "This gem works with the Rails Autoscale Heroku add-on to automatically scale your web and worker dynos."
12
+ spec.homepage = "https://railsautoscale.com"
13
+ spec.license = "MIT"
14
+
15
+ spec.metadata = {
16
+ "homepage_uri" => "https://railsautoscale.com",
17
+ "bug_tracker_uri" => "https://github.com/rails-autoscale/rails-autoscale-gems/issues",
18
+ "documentation_uri" => "https://railsautoscale.com/docs",
19
+ "changelog_uri" => "https://github.com/rails-autoscale/rails-autoscale-gems/blob/main/CHANGELOG.md",
20
+ "source_code_uri" => "https://github.com/rails-autoscale/rails-autoscale-gems"
21
+ }
22
+
23
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
+ spec.require_paths = ["lib"]
25
+
26
+ spec.required_ruby_version = ">= 2.6.0"
27
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: judoscale-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc2
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam McCrea
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-09-07 00:00:00.000000000 Z
12
+ date: 2022-11-23 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description:
15
15
  email:
@@ -21,34 +21,32 @@ files:
21
21
  - Gemfile
22
22
  - Gemfile.lock
23
23
  - Rakefile
24
- - judoscale-ruby.gemspec
25
- - lib/judoscale-ruby.rb
26
- - lib/judoscale/adapter_api.rb
27
- - lib/judoscale/config.rb
28
- - lib/judoscale/job_metrics_collector.rb
29
- - lib/judoscale/job_metrics_collector/active_record_helper.rb
30
- - lib/judoscale/logger.rb
31
- - lib/judoscale/metric.rb
32
- - lib/judoscale/metrics_collector.rb
33
- - lib/judoscale/metrics_store.rb
34
- - lib/judoscale/report.rb
35
- - lib/judoscale/reporter.rb
36
- - lib/judoscale/request_metrics.rb
37
- - lib/judoscale/request_middleware.rb
38
- - lib/judoscale/version.rb
39
- - lib/judoscale/web_metrics_collector.rb
24
+ - lib/rails-autoscale-core.rb
25
+ - lib/rails_autoscale/adapter_api.rb
26
+ - lib/rails_autoscale/config.rb
27
+ - lib/rails_autoscale/job_metrics_collector.rb
28
+ - lib/rails_autoscale/job_metrics_collector/active_record_helper.rb
29
+ - lib/rails_autoscale/logger.rb
30
+ - lib/rails_autoscale/metric.rb
31
+ - lib/rails_autoscale/metrics_collector.rb
32
+ - lib/rails_autoscale/metrics_store.rb
33
+ - lib/rails_autoscale/report.rb
34
+ - lib/rails_autoscale/reporter.rb
35
+ - lib/rails_autoscale/request_metrics.rb
36
+ - lib/rails_autoscale/request_middleware.rb
37
+ - lib/rails_autoscale/version.rb
38
+ - lib/rails_autoscale/web_metrics_collector.rb
39
+ - rails-autoscale-core.gemspec
40
40
  homepage: https://judoscale.com
41
41
  licenses:
42
42
  - MIT
43
43
  metadata:
44
44
  homepage_uri: https://judoscale.com
45
45
  bug_tracker_uri: https://github.com/judoscale/judoscale-ruby/issues
46
- documentation_uri: https://judoscale.com/docs
46
+ documentation_uri: https://railsautoscale.com/docs
47
47
  changelog_uri: https://github.com/judoscale/judoscale-ruby/blob/main/CHANGELOG.md
48
48
  source_code_uri: https://github.com/judoscale/judoscale-ruby
49
- post_install_message: |
50
- `judoscale-ruby` is deprecated! Please migrate to `rails-autoscale-core`.
51
- See https://github.com/rails-autoscale/rails-autoscale-gems for the installation guide.
49
+ post_install_message:
52
50
  rdoc_options: []
53
51
  require_paths:
54
52
  - lib
@@ -59,13 +57,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
59
57
  version: 2.6.0
60
58
  required_rubygems_version: !ruby/object:Gem::Requirement
61
59
  requirements:
62
- - - ">"
60
+ - - ">="
63
61
  - !ruby/object:Gem::Version
64
- version: 1.3.1
62
+ version: '0'
65
63
  requirements: []
66
64
  rubygems_version: 3.2.32
67
65
  signing_key:
68
66
  specification_version: 4
69
- summary: This gem is deprecated. See https://github.com/rails-autoscale/rails-autoscale-gems
70
- to integrate your Ruby app with the Judoscale Heroku add-on.
67
+ summary: This gem works with the Judoscale Heroku add-on to automatically scale your
68
+ web and worker dynos.
71
69
  test_files: []
@@ -1,32 +0,0 @@
1
- lib = File.expand_path("../lib", __FILE__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require "judoscale/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "judoscale-ruby"
7
- spec.version = Judoscale::VERSION
8
- spec.authors = ["Adam McCrea", "Carlos Antonio da Silva"]
9
- spec.email = ["adam@adamlogic.com"]
10
-
11
- spec.summary = "This gem is deprecated. See https://github.com/rails-autoscale/rails-autoscale-gems to integrate your Ruby app with the Judoscale Heroku add-on."
12
- spec.homepage = "https://judoscale.com"
13
- spec.license = "MIT"
14
-
15
- spec.metadata = {
16
- "homepage_uri" => "https://judoscale.com",
17
- "bug_tracker_uri" => "https://github.com/judoscale/judoscale-ruby/issues",
18
- "documentation_uri" => "https://judoscale.com/docs",
19
- "changelog_uri" => "https://github.com/judoscale/judoscale-ruby/blob/main/CHANGELOG.md",
20
- "source_code_uri" => "https://github.com/judoscale/judoscale-ruby"
21
- }
22
-
23
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
- spec.require_paths = ["lib"]
25
-
26
- spec.required_ruby_version = ">= 2.6.0"
27
-
28
- spec.post_install_message = <<~EOS
29
- `judoscale-ruby` is deprecated! Please migrate to `rails-autoscale-core`.
30
- See https://github.com/rails-autoscale/rails-autoscale-gems for the installation guide.
31
- EOS
32
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Judoscale
4
- VERSION = "1.0.0.rc2"
5
- end