bitfab 0.64.1 → 0.64.2

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: d14c7be3e30cfca546b9393ea4f102e1d8e1cf9cd28b03ed0b2da8455a491603
4
- data.tar.gz: e6919321b8f708129eb578b01e17be64987dc58a0006bfe7ce7c30aa07308158
3
+ metadata.gz: 2ab2d1343a1244985917d2edfa99de8df18e81ae9d8983ce5762d0edb1dc5251
4
+ data.tar.gz: bebef60f9652ad4de1a4880483d084a33e8c6da41b0a8dbb34f81bc6577a4613
5
5
  SHA512:
6
- metadata.gz: 65609caadde1a938837fbad709fca7da3c3387195c62d6063e4f5c7c917bf29d35c09f93083676cac733a2fe39322b634d0ed67bbe86cc87316836aeab3237e1
7
- data.tar.gz: c3ff154d5f8c81252ec36279e1cd7d54136ce8bd2c88f99fd798767c390ba40db0c854ac57ac5f409bf2b8020dab90e9ed52fab5d93c0ec440e40cf16c5b45be
6
+ metadata.gz: 5a207fc06c32414a7a85e9f676b4108009da4b4cd86ad2778772b078ab8f73d7f4694a7f017f32177e5a57a2fa106be3a9d3a0374a3c2d889b1011775153b593
7
+ data.tar.gz: e6e2b45e084896320e1dbbacab2119b3492e38134aff9b820840667bae01a081f438e0e77b17ff936c223135ad7054e7b91387b7230d766fd4fd3e1ae9c0767d
@@ -54,7 +54,11 @@ module Bitfab
54
54
 
55
55
  def load_registry(path)
56
56
  container = Module.new
57
- container.module_eval(File.read(path), path)
57
+ begin
58
+ container.module_eval(File.read(path), path)
59
+ rescue LoadError => error
60
+ raise ArgumentError, "#{error.message}\n\n#{registry_import_hint(path)}"
61
+ end
58
62
  registry = container.const_get(:REGISTRY, false) if container.const_defined?(:REGISTRY, false)
59
63
  unless registry.is_a?(ReplayRegistry)
60
64
  raise ArgumentError,
@@ -63,5 +67,14 @@ module Bitfab
63
67
 
64
68
  registry
65
69
  end
70
+
71
+ def registry_import_hint(path)
72
+ [
73
+ "The replay registry '#{path}' could not load one of its requires.",
74
+ "A registry belongs in the app that builds the traced method's call and already depends on everything it requires (its tools, clients, and config), and bitfab-replay runs from that app's directory with its bundle.",
75
+ "When the traced method lives in a lower-level gem that an app calls, put the registry in the app and add bitfab to its Gemfile. Copying the app's dependencies into the gem is the wrong fix.",
76
+ "See \"When the traced method needs the app's dependencies\" at https://docs.bitfab.ai/ruby-sdk."
77
+ ].join("\n")
78
+ end
66
79
  end
67
80
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bitfab
4
- VERSION = "0.64.1"
4
+ VERSION = "0.64.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitfab
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.64.1
4
+ version: 0.64.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harvest Team