<testsuite name="rspec1" tests="683" skipped="2" failures="456" errors="0" time="15675.530694" timestamp="2025-01-31T13:29:20+00:00" hostname="fv-az788-371">
<properties>
<property name="seed" value="30801"/>
</properties>
<testcase classname="spec.acceptance.rest.time_spec" name="Ably::Rest::Client#time using MsgPack protocol fetching the service time should return the service time as a Time object" file="./spec/acceptance/rest/time_spec.rb" time="0.145752"></testcase>
<testcase classname="spec.acceptance.rest.time_spec" name="Ably::Rest::Client#time using MsgPack protocol fetching the service time with reconfigured HTTP timeout should raise a timeout exception" file="./spec/acceptance/rest/time_spec.rb" time="34.550854"><failure message="expected Ably::Exceptions::ConnectionTimeout, got #&lt;Ably::Exceptions::ConnectionError: Couldn&apos;t resolve host name (code: 80000, base exception: Faraday::ConnectionFailed) -&gt; see https://help.ably.io/error/80000 for help &lt; Couldn&apos;t resolve host name&gt; with backtrace:
  # ./lib/ably/rest/client.rb:660:in `rescue in send_request&apos;
  # ./lib/ably/rest/client.rb:598:in `send_request&apos;
  # ./lib/ably/rest/client.rb:581:in `block in raw_request&apos;
  # ./lib/ably/rest/client.rb:668:in `reauthorize_on_authorization_failure&apos;
  # ./lib/ably/rest/client.rb:580:in `raw_request&apos;
  # ./lib/ably/rest/client.rb:341:in `get&apos;
  # ./lib/ably/rest/client.rb:324:in `time&apos;
  # ./spec/acceptance/rest/time_spec.rb:20:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/rest/time_spec.rb:20:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::ConnectionTimeout, got #&lt;Ably::Exceptions::ConnectionError: Couldn&apos;t resolve host name (code: 80000, base exception: Faraday::ConnectionFailed) -&gt; see https://help.ably.io/error/80000 for help &lt; Couldn&apos;t resolve host name&gt; with backtrace:
    # ./lib/ably/rest/client.rb:660:in `rescue in send_request&apos;
    # ./lib/ably/rest/client.rb:598:in `send_request&apos;
    # ./lib/ably/rest/client.rb:581:in `block in raw_request&apos;
    # ./lib/ably/rest/client.rb:668:in `reauthorize_on_authorization_failure&apos;
    # ./lib/ably/rest/client.rb:580:in `raw_request&apos;
    # ./lib/ably/rest/client.rb:341:in `get&apos;
    # ./lib/ably/rest/client.rb:324:in `time&apos;
    # ./spec/acceptance/rest/time_spec.rb:20:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/rest/time_spec.rb:20:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/rest/time_spec.rb:20:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol has immutable options" file="./spec/acceptance/rest/auth_spec.rb" time="0.001416"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using JWT authenticates correctly using the JWT token generated by the echo server" file="./spec/acceptance/rest/auth_spec.rb" time="0.614945"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using JWT when the JWT embeds an Ably token authenticates correctly using the embedded token" file="./spec/acceptance/rest/auth_spec.rb" time="0.434013"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using JWT when the JWT embeds an Ably token and the requested token is encrypted authenticates correctly using the embedded token" file="./spec/acceptance/rest/auth_spec.rb" time="0.400203"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using JWT when the token requested is returned with application/jwt content type authenticates correctly and pulls stats" file="./spec/acceptance/rest/auth_spec.rb" time="0.308956"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol before #authorize has been called has no current_token_details" file="./spec/acceptance/rest/auth_spec.rb" time="0.000808"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol deprecated #authorise returns a valid token (#RSA10l)" file="./spec/acceptance/rest/auth_spec.rb" time="0.037531"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol deprecated #authorise logs a deprecation warning (#RSA10l)" file="./spec/acceptance/rest/auth_spec.rb" time="0.038185"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using a :key and basic auth #key attribute contains the key string" file="./spec/acceptance/rest/auth_spec.rb" time="0.001176"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using a :key and basic auth #using_basic_auth? is true" file="./spec/acceptance/rest/auth_spec.rb" time="0.001446"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using a :key and basic auth #using_token_auth? is false" file="./spec/acceptance/rest/auth_spec.rb" time="0.000817"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token returns a valid TokenDetails object in the expected format with valid issued and expires attributes" file="./spec/acceptance/rest/auth_spec.rb" time="0.035959"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token creates a TokenRequest automatically and sends it to Ably to obtain a token" file="./spec/acceptance/rest/auth_spec.rb" time="0.021063"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :query_time option queries the server for the time (#RSA10k)" file="./spec/acceptance/rest/auth_spec.rb" time="0.068585"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option merging with existing configured auth options using :get :auth_method and query params in the URL requests a token using a GET request with provided headers, and merges client_id into auth_params and existing URL querystring into new URL querystring" file="./spec/acceptance/rest/auth_spec.rb" time="0.007838"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option merging with existing configured auth options using unspecified :auth_method requests a token using a GET request with provided headers, and merges client_id into auth_params" file="./spec/acceptance/rest/auth_spec.rb" time="0.007249"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option merging with existing configured auth options using unspecified :auth_method with provided auth option auth_params and auth_headers replaces any preconfigured auth_params" file="./spec/acceptance/rest/auth_spec.rb" time="0.007212"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option merging with existing configured auth options using unspecified :auth_method with provided token_params merges provided token_params with existing auth_params and client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.009658"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option merging with existing configured auth options using :post :auth_method requests a token using a POST request with provided headers, and merges client_id into auth_params as form-encoded post data" file="./spec/acceptance/rest/auth_spec.rb" time="0.014867"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :key_name &amp; :key_secret options key_name is used in request and signing uses key_secret" file="./spec/acceptance/rest/auth_spec.rb" time="0.009447"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with token_param :capability overrides default and uses camelCase notation for attributes" file="./spec/acceptance/rest/auth_spec.rb" time="0.009219"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with token_param :client_id overrides default and uses camelCase notation for attributes" file="./spec/acceptance/rest/auth_spec.rb" time="0.009504"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with token_param :ttl overrides default and uses camelCase notation for attributes" file="./spec/acceptance/rest/auth_spec.rb" time="0.002930"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token without :query_time option does not query the server for the time" file="./spec/acceptance/rest/auth_spec.rb" time="0.049388"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :key option key_name is used in request and signing uses key_secret" file="./spec/acceptance/rest/auth_spec.rb" time="0.003210"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token persisted option of token params when omitted returns a literal token" file="./spec/acceptance/rest/auth_spec.rb" time="0.029385"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token persisted option of token params when set to true returns a token with a short token ID that is used to look up the token details" file="./spec/acceptance/rest/auth_spec.rb" time="0.397824"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with token_param :nonce overrides default and uses camelCase notation for attributes" file="./spec/acceptance/rest/auth_spec.rb" time="0.003741"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with auth_option :client_id returns a token with the client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.029596"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with token_param :client_id returns a token with the client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.031897"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenDetails JSON object uses the token request returned from the callback when requesting a new token" file="./spec/acceptance/rest/auth_spec.rb" time="0.001019"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenDetails JSON object calls the lambda when authenticating to obtain the request token" file="./spec/acceptance/rest/auth_spec.rb" time="0.002286"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenDetails JSON object when authorized sets Client#client_id to the new token&apos;s client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.001239"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenDetails JSON object when authorized sets Auth#client_id to the new token&apos;s client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.001185"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenDetails object uses the token request returned from the callback when requesting a new token" file="./spec/acceptance/rest/auth_spec.rb" time="0.035188"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenRequest calls the Proc with token_params when authenticating to obtain the request token" file="./spec/acceptance/rest/auth_spec.rb" time="0.027855"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenRequest uses the token request returned from the callback when requesting a new token" file="./spec/acceptance/rest/auth_spec.rb" time="0.030355"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenRequest when authorized sets Auth#client_id to the new token&apos;s client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.058458"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenRequest when authorized sets Client#client_id to the new token&apos;s client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.061843"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a Token string uses the token request returned from the callback when requesting a new token" file="./spec/acceptance/rest/auth_spec.rb" time="0.031683"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with token_param :timestamp overrides default and uses camelCase notation for attributes" file="./spec/acceptance/rest/auth_spec.rb" time="0.003373"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is text/plain content type and a token string returns TokenDetails created from the token JSON" file="./spec/acceptance/rest/auth_spec.rb" time="0.007235"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response is invalid XML raises InvalidResponseBody" file="./spec/acceptance/rest/auth_spec.rb" time="0.006967"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response is invalid 500 raises ServerError" file="./spec/acceptance/rest/auth_spec.rb" time="0.007034"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is a valid token request requests a token from :auth_url using an HTTP GET request" file="./spec/acceptance/rest/auth_spec.rb" time="0.008806"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is a valid token request returns a valid token generated from the token request" file="./spec/acceptance/rest/auth_spec.rb" time="0.009036"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is a valid token request with :headers requests a token from :auth_url with the HTTP headers set" file="./spec/acceptance/rest/auth_spec.rb" time="0.008915"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is a valid token request with POST requests a token from :auth_url using an HTTP POST instead of the default GET" file="./spec/acceptance/rest/auth_spec.rb" time="0.011013"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is a valid token request with :query_params requests a token from :auth_url with the :query_params" file="./spec/acceptance/rest/auth_spec.rb" time="0.009033"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is a token details object returns TokenDetails created from the token JSON" file="./spec/acceptance/rest/auth_spec.rb" time="0.007631"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request uses the key name from the client" file="./spec/acceptance/rest/auth_spec.rb" time="0.000903"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request specifies no TTL (#RSA5)" file="./spec/acceptance/rest/auth_spec.rb" time="0.001494"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request returns a TokenRequest object" file="./spec/acceptance/rest/auth_spec.rb" time="0.000735"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request returns a TokenRequest that can be passed to a client that can use it for authentication without an API key" file="./spec/acceptance/rest/auth_spec.rb" time="0.030410"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request specifies no capability (#RSA6)" file="./spec/acceptance/rest/auth_spec.rb" time="0.000982"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request with additional invalid attributes are ignored" file="./spec/acceptance/rest/auth_spec.rb" time="0.000941"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request with a :ttl option below the Token expiry buffer that ensures tokens are renewed 15s before they expire as they are considered expired uses the Token expiry buffer default + 10s to allow for a token request in flight" file="./spec/acceptance/rest/auth_spec.rb" time="0.000806"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request with token param :ttl overrides default" file="./spec/acceptance/rest/auth_spec.rb" time="0.000809"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request timestamp attribute is a Time object in Ruby and is set to the local time" file="./spec/acceptance/rest/auth_spec.rb" time="0.000758"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request timestamp attribute with :query_time auth_option queries the server for the timestamp" file="./spec/acceptance/rest/auth_spec.rb" time="0.000983"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request timestamp attribute with :timestamp option uses the provided timestamp in the token request" file="./spec/acceptance/rest/auth_spec.rb" time="0.000775"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request when required fields are missing should raise an exception if key secret is missing" file="./spec/acceptance/rest/auth_spec.rb" time="0.000675"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request when required fields are missing should raise an exception if key name is missing" file="./spec/acceptance/rest/auth_spec.rb" time="0.000727"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request with token param :nonce overrides default" file="./spec/acceptance/rest/auth_spec.rb" time="0.000820"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request when specifying capability overrides the default" file="./spec/acceptance/rest/auth_spec.rb" time="0.000802"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request when specifying capability uses these capabilities when Ably issues an actual token" file="./spec/acceptance/rest/auth_spec.rb" time="0.031017"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request signing generates a valid HMAC" file="./spec/acceptance/rest/auth_spec.rb" time="0.000892"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request signing lexicographic ordering of channels and operations HMAC is lexicographic ordered and thus the HMAC is identical" file="./spec/acceptance/rest/auth_spec.rb" time="0.000838"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request signing lexicographic ordering of channels and operations is valid when used for authentication" file="./spec/acceptance/rest/auth_spec.rb" time="0.028308"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request the nonce is unique for every request" file="./spec/acceptance/rest/auth_spec.rb" time="0.004333"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request the nonce is at least 16 characters" file="./spec/acceptance/rest/auth_spec.rb" time="0.000822"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request with token param :client_id overrides default" file="./spec/acceptance/rest/auth_spec.rb" time="0.000724"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using a token request with a client_id is not true as identification is not confirmed until authenticated" file="./spec/acceptance/rest/auth_spec.rb" time="0.000844"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using a token request with a client_id after authentication is true as identification is completed during implicit authentication" file="./spec/acceptance/rest/auth_spec.rb" time="0.090174"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using a token auth string for a token with a client_id is false as identification is not possible from an opaque token string" file="./spec/acceptance/rest/auth_spec.rb" time="0.028977"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using a token with a client_id is true" file="./spec/acceptance/rest/auth_spec.rb" time="0.033541"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using a token with no client_id (anonymous) is true" file="./spec/acceptance/rest/auth_spec.rb" time="0.102225"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using a token with a wildcard client_id (anonymous) is false" file="./spec/acceptance/rest/auth_spec.rb" time="0.031411"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using basic auth is false as basic auth users do not have an identity" file="./spec/acceptance/rest/auth_spec.rb" time="0.000859"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication when :client_id is provided in a token #client_id contains the client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.035506"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication when token does not expire for the next 2 hours should not request for the new token (#RSA4b1)" file="./spec/acceptance/rest/auth_spec.rb" time="0.168760"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication with :token option fails if timestamp is invalid" file="./spec/acceptance/rest/auth_spec.rb" time="0.029217"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication with :token option disallows publishing on unspecified capability channels" file="./spec/acceptance/rest/auth_spec.rb" time="0.054142"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication with :token option cannot be renewed automatically" file="./spec/acceptance/rest/auth_spec.rb" time="0.026668"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication with :token option authenticates successfully using the provided :token" file="./spec/acceptance/rest/auth_spec.rb" time="0.071439"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication with :token option and the token expires should indicate an error and not retry the request (#RSA4a)" file="./spec/acceptance/rest/auth_spec.rb" time="32.375036"><failure message="Invalid port number: &quot;sandbox-rest.ably.io&quot;" type="Addressable::URI::InvalidURIError">Failure/Error:
  stub_request(:post, &quot;https://#{environment}-rest.ably.io/channels/foo/publish&quot;).
    to_return(status: 401, body: token_expired.to_json, headers: { &apos;Content-Type&apos; =&gt; &apos;application/json&apos; })

Addressable::URI::InvalidURIError:
  Invalid port number: &quot;sandbox-rest.ably.io&quot;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:1418:in `port=&apos;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:855:in `block in initialize&apos;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:2399:in `defer_validation&apos;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:847:in `initialize&apos;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:165:in `new&apos;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:165:in `parse&apos;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:243:in `heuristic_parse&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/util/uri.rb:13:in `block in &lt;class:URI&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/util/uri.rb:29:in `heuristic_parse&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/util/uri.rb:17:in `block in &lt;class:URI&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/util/uri.rb:35:in `normalize_uri&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/request_pattern.rb:123:in `initialize&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/request_pattern.rb:90:in `new&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/request_pattern.rb:90:in `create_uri_pattern&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/request_pattern.rb:21:in `initialize&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/request_stub.rb:9:in `new&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/request_stub.rb:9:in `initialize&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/api.rb:9:in `new&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/api.rb:9:in `stub_request&apos;
./spec/acceptance/rest/auth_spec.rb:1102:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication when token expires automatically renews the token (#RSA4b)" file="./spec/acceptance/rest/auth_spec.rb" time="2.794266"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication when token expires fails if the token renewal fails (#RSA4b)" file="./spec/acceptance/rest/auth_spec.rb" time="41.212569"><failure message="Invalid port number: &quot;sandbox-rest.ably.io&quot;" type="Addressable::URI::InvalidURIError">Failure/Error:
  stub_request(:post, &quot;https://#{environment}-rest.ably.io/keys/#{TestApp.instance.key_name}/requestToken&quot;).
      to_return(status: 401, body: token_expired_response.to_json, headers: { &apos;Content-Type&apos; =&gt; &apos;application/json&apos; })

Addressable::URI::InvalidURIError:
  Invalid port number: &quot;sandbox-rest.ably.io&quot;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:1418:in `port=&apos;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:855:in `block in initialize&apos;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:2399:in `defer_validation&apos;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:847:in `initialize&apos;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:165:in `new&apos;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:165:in `parse&apos;
./vendor/bundle/ruby/2.7.0/gems/addressable-2.8.7/lib/addressable/uri.rb:243:in `heuristic_parse&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/util/uri.rb:13:in `block in &lt;class:URI&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/util/uri.rb:29:in `heuristic_parse&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/util/uri.rb:17:in `block in &lt;class:URI&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/util/uri.rb:35:in `normalize_uri&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/request_pattern.rb:123:in `initialize&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/request_pattern.rb:90:in `new&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/request_pattern.rb:90:in `create_uri_pattern&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/request_pattern.rb:21:in `initialize&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/request_stub.rb:9:in `new&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/request_stub.rb:9:in `initialize&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/api.rb:9:in `new&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/api.rb:9:in `stub_request&apos;
./spec/acceptance/rest/auth_spec.rb:1161:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) updates the persisted auth options that are then used for subsequent authorize requests" file="./spec/acceptance/rest/auth_spec.rb" time="0.426197"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) updates the persisted token params that are then used for subsequent authorize requests" file="./spec/acceptance/rest/auth_spec.rb" time="0.031723"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with an explicit ClientOptions client_id and a token string without any retrievable client_id rejects a TokenRequests object with an incompatible client_id and raises an exception" file="./spec/acceptance/rest/auth_spec.rb" time="0.041727"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with an explicit ClientOptions client_id and an incompatible client_id in a TokenDetails object passed to the auth callback rejects a TokenDetails object with an incompatible client_id and raises an exception" file="./spec/acceptance/rest/auth_spec.rb" time="0.031088"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with an explicit ClientOptions client_id and an incompatible client_id in a TokenRequest object passed to the auth callback and raises an exception rejects a TokenRequests object with an incompatible client_id and raises an exception" file="./spec/acceptance/rest/auth_spec.rb" time="0.041153"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with an explicit token string that expires and a lambda for the :auth_callback option to provide a means to renew the token calls the lambda once the token has expired and the new token is used" file="./spec/acceptance/rest/auth_spec.rb" time="3.692769"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with a lambda for the :auth_callback option calls the lambda" file="./spec/acceptance/rest/auth_spec.rb" time="0.031767"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with a lambda for the :auth_callback option uses the token request returned from the callback when requesting a new token" file="./spec/acceptance/rest/auth_spec.rb" time="0.034467"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with a lambda for the :auth_callback option for every subsequent #request_token without a :auth_callback lambda calls the originally provided block" file="./spec/acceptance/rest/auth_spec.rb" time="0.060208"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with a lambda for the :auth_callback option for every subsequent #request_token with a provided block does not call the originally provided lambda and calls the new #request_token :auth_callback lambda" file="./spec/acceptance/rest/auth_spec.rb" time="0.062814"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) TokenParams argument updates defaults when present and all previous configured TokenParams are discarded (#RSA10g)" file="./spec/acceptance/rest/auth_spec.rb" time="0.070248"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) TokenParams argument uses TokenParams#timestamp for this request but obtains a new timestamp for subsequence requests (#RSA10g)" file="./spec/acceptance/rest/auth_spec.rb" time="0.111108"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) TokenParams argument has no effect on the defaults when null and TokenParam defaults remain the same" file="./spec/acceptance/rest/auth_spec.rb" time="0.060307"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) TokenParams argument updates Auth#token_params attribute with an immutable hash" file="./spec/acceptance/rest/auth_spec.rb" time="0.114323"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with previous authorisation requests a new token if token is expired" file="./spec/acceptance/rest/auth_spec.rb" time="0.028961"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with previous authorisation issues a new token every time #authorize is called" file="./spec/acceptance/rest/auth_spec.rb" time="0.060725"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) when called for the first time since the client has been instantiated passes all auth_options and token_params to #request_token" file="./spec/acceptance/rest/auth_spec.rb" time="0.001427"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) when called for the first time since the client has been instantiated issues a new token every time (#RSA10a)" file="./spec/acceptance/rest/auth_spec.rb" time="0.033535"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) when called for the first time since the client has been instantiated returns a valid token" file="./spec/acceptance/rest/auth_spec.rb" time="0.029027"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) AuthOptions argument has no effect on the defaults when null and AuthOptions defaults remain the same" file="./spec/acceptance/rest/auth_spec.rb" time="2.561654"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) AuthOptions argument uses AuthOptions#query_time for this request and will not query_time for subsequent requests (#RSA10g)" file="./spec/acceptance/rest/auth_spec.rb" time="2.619469"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) AuthOptions argument uses AuthOptions#query_time for this request and will query_time again if provided subsequently" file="./spec/acceptance/rest/auth_spec.rb" time="2.639783"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) AuthOptions argument updates defaults when present and all previous configured AuthOptions are discarded (#RSA10g)" file="./spec/acceptance/rest/auth_spec.rb" time="2.562422"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) AuthOptions argument updates Auth#options attribute with an immutable hash" file="./spec/acceptance/rest/auth_spec.rb" time="2.533503"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) query_time: true with authorize only queries the server time once and then works out the offset, query_time option is never persisted (#RSA10k)" file="./spec/acceptance/rest/auth_spec.rb" time="0.060446"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) query_time: true ClientOption when instanced only queries the server time once and then works out the offset, query_time option is never persisted (#RSA10k)" file="./spec/acceptance/rest/auth_spec.rb" time="0.095676"></testcase>
<testcase classname="spec.acceptance.realtime.presence_history_spec" name="Ably::Realtime::Presence history using MsgPack protocol provides up to the moment presence history" file="./spec/acceptance/realtime/presence_history_spec.rb" time="32.709446"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca018b930&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca018b930&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_history_spec.rb:10:in `new&apos;
./spec/acceptance/realtime/presence_history_spec.rb:10:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_history_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_history_spec.rb:12:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_history_spec.rb:22:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_history_spec" name="Ably::Realtime::Presence history using MsgPack protocol ensures REST presence history message IDs match ProtocolMessage wrapped message and connection IDs via Realtime" file="./spec/acceptance/realtime/presence_history_spec.rb" time="34.099190"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00c4650&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00c4650&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_history_spec.rb:10:in `new&apos;
./spec/acceptance/realtime/presence_history_spec.rb:10:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_history_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_history_spec.rb:12:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_history_spec.rb:45:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats returns a PaginatedResult object" file="./spec/acceptance/rest/stats_spec.rb" time="0.097501"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by month should aggregate the stats for that period" file="./spec/acceptance/rest/stats_spec.rb" time="0.046369"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by hour should aggregate the stats for that period" file="./spec/acceptance/rest/stats_spec.rb" time="0.042920"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :end set to previous year interval the REST API defaults to 100 items for pagination" file="./spec/acceptance/rest/stats_spec.rb" time="0.139283"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 retrieves only one stat" file="./spec/acceptance/rest/stats_spec.rb" time="0.037477"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns persisted presence all data" file="./spec/acceptance/rest/stats_spec.rb" time="0.033834"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns stat objects with #interval_granularity equal to :minute" file="./spec/acceptance/rest/stats_spec.rb" time="0.034120"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns channels all data" file="./spec/acceptance/rest/stats_spec.rb" time="0.044326"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns connections all data" file="./spec/acceptance/rest/stats_spec.rb" time="0.034047"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns api_requests data" file="./spec/acceptance/rest/stats_spec.rb" time="0.037738"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns all aggregated message data" file="./spec/acceptance/rest/stats_spec.rb" time="0.032189"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns outbound realtime all data" file="./spec/acceptance/rest/stats_spec.rb" time="0.032830"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns zero value for any missing metrics" file="./spec/acceptance/rest/stats_spec.rb" time="0.033262"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns inbound realtime message data" file="./spec/acceptance/rest/stats_spec.rb" time="0.041281"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns stat objects with #interval_time matching :start Time" file="./spec/acceptance/rest/stats_spec.rb" time="0.046169"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns inbound realtime all data" file="./spec/acceptance/rest/stats_spec.rb" time="0.035065"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns token_requests data" file="./spec/acceptance/rest/stats_spec.rb" time="0.036971"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns stat objects with #interval_id matching :start" file="./spec/acceptance/rest/stats_spec.rb" time="0.035272"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :start set to first interval, :limit set to 1 and direction :forwards returns the first interval stats as stats are provided forwards from :start" file="./spec/acceptance/rest/stats_spec.rb" time="0.035830"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :start set to first interval, :limit set to 1 and direction :forwards returns 3 pages of stats" file="./spec/acceptance/rest/stats_spec.rb" time="0.107794"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :end set to last interval, :limit set to 1 and direction :backwards returns the 3rd interval stats first as stats are provided backwards from :end" file="./spec/acceptance/rest/stats_spec.rb" time="0.032224"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :end set to last interval, :limit set to 1 and direction :backwards returns 3 pages of stats" file="./spec/acceptance/rest/stats_spec.rb" time="0.100243"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with no options uses the minute interval by default" file="./spec/acceptance/rest/stats_spec.rb" time="0.138658"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :end set to last interval and :limit set to 3 to ensure only last years stats are included the REST API defaults to direction :backwards" file="./spec/acceptance/rest/stats_spec.rb" time="0.033406"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by day should aggregate the stats for that period" file="./spec/acceptance/rest/stats_spec.rb" time="0.034799"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats when argument start is after end should raise an exception" file="./spec/acceptance/rest/stats_spec.rb" time="0.000786"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume because the connection_key is not or no longer valid issue a reattach for all attaching channels and fail all queued messages (#RTN15c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.305060"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0271390&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0271390&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1133:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1133:in `times&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1133:in `each&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1133:in `map&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1133:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume because the connection_key is not or no longer valid issue a attach for all suspended channels (#RTN15c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.428517"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00fc550&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00fc550&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1169:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1169:in `times&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1169:in `each&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1169:in `map&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1169:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume because the connection_key is not or no longer valid updates the connection_id and connection_key" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="32.548877"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca004ed10&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca004ed10&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1079:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume because the connection_key is not or no longer valid issue a reattach for all attached channels and fail all message awaiting an ACK (#RTN15c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.893313"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff53618&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff53618&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1095:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1095:in `times&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1095:in `each&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1095:in `map&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1095:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume because the connection_key is not or no longer valid continues to use the client_msg_serial (#RTN15c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.314050"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5c5a10&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5c5a10&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1222:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume because the connection_key is not or no longer valid sets the error reason on each channel" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.418193"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f192100&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f192100&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1071:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1206:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume as the DISCONNECTED window to resume has passed starts a new connection automatically and does not try and resume" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="32.598339"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04c8148&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04c8148&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1258:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume after successfully reconnecting and resuming includes the error received in the connection state change from Ably but leaves the channels attached" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="32.756918"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01c7200&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01c7200&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:560:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:962:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume after successfully reconnecting and resuming retains connection_id and updates the connection_key (#RTN15e, #RTN16d)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="32.774002"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00e9068&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00e9068&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:947:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume after successfully reconnecting and resuming retains channel subscription state" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.283803"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca003a1d0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca003a1d0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:560:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:988:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume after successfully reconnecting and resuming retains the client_msg_serial (#RTN15c2, #RTN15c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.068113"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff39970&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff39970&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1040:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume after successfully reconnecting and resuming when messages were published whilst the client was disconnected receives the messages published whilst offline" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.783285"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f552a88&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f552a88&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:560:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1008:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server reconnects automatically and immediately (#RTN15a)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.321762"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f0f7ee8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f0f7ee8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:568:in `fail_if_suspended_or_failed&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:574:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server and subsequently fails to reconnect retries every 15 seconds" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="32.419725"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0495680&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0495680&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:568:in `fail_if_suspended_or_failed&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:864:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server connection state freshness is monitored resumes connections when disconnected within the connection_state_ttl period (#RTN15g)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.057646"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01960d8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01960d8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:650:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server connection state freshness is monitored when connection_state_ttl period has passed since last activity on the connection does not clear the local connection state when the connection_state_ttl period has passed since last activity, but the idle timeout has not passed (#RTN15g1, #RTN15g2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.421543"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00c8e80&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00c8e80&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:743:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server connection state freshness is monitored when connection_state_ttl period has passed since last activity on the connection clears the local connection state and uses a new connection when the connection_state_ttl + max_idle_interval period has passed since last activity (#RTN15g1, #RTN15g2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.149860"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0008428&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0008428&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:775:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server connection state freshness is monitored when connection_state_ttl period has passed since last activity on the connection still reattaches the channels automatically following a new connection being established (#RTN15g2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.619867"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff01db8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff01db8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:808:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server connection state freshness is monitored when connection_state_ttl period has passed since being disconnected clears the local connection state and uses a new connection when the connection_state_ttl period has passed (#RTN15g)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.032228"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3e4390&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3e4390&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:690:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server when protocolMessage contains token error library does not have a means to renew the token (#RTN15h1) moves connection state to failed" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.913968"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e59b3d8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e59b3d8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:602:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server when protocolMessage contains token error library have a means to renew the token (#RTN15h2) attempts to reconnect" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="42.922304"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fe5f720&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fe5f720&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:626:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume whilst resuming with a token error code in the region 40140 &lt;= code &lt; 40150 (RTN15c5) triggers a re-authentication and then resumes the connection" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.477374"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca008e0a0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca008e0a0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1364:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when websocket transport is abruptly disconnected reconnects automatically" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.011283"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff9c228&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff9c228&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:568:in `fail_if_suspended_or_failed&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:907:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when websocket transport is abruptly disconnected hosts used reconnects with the default host" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.841552"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f713ae8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f713ae8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:568:in `fail_if_suspended_or_failed&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:923:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume with any other error (#RTN15c4) moves the connection to the failed state" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.246047"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f2d9478&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f2d9478&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1396:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when an ERROR protocol message is received whilst connecting with no error code indicating an error other than a token failure (#RTN14g, #RTN15i) causes the connection to fail" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.887722"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9de2ede8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9de2ede8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1318:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when an ERROR protocol message is received whilst connecting with an error code indicating an error other than a token failure (#RTN14g, #RTN15i) causes the connection to fail" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.464465"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0276c78&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0276c78&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1305:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when an ERROR protocol message is received whilst connecting with a token error code in the range 40140 &lt;= code &lt; 40150 (#RTN14b) triggers a re-authentication" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.608386"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00fa958&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00fa958&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1289:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when an ERROR protocol message is received whilst connected with a token error code in the range 40140 &lt;= code &lt; 40150 (#RTN14b) triggers a re-authentication" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.080189"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00451c0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00451c0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1289:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when an ERROR protocol message is received whilst connected with no error code indicating an error other than a token failure (#RTN14g, #RTN15i) causes the connection to fail" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.134244"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff3af00&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff3af00&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1318:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when an ERROR protocol message is received whilst connected with an error code indicating an error other than a token failure (#RTN14g, #RTN15i) causes the connection to fail" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.160081"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f53e560&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f53e560&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1305:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure when API key is invalid with invalid key name part of the key enters the failed state and returns an authorization error" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.597008"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f0b93c8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f0b93c8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:45:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure when API key is invalid with invalid app part of the key enters the failed state and returns a not found error" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="32.238157"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca047cec8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca047cec8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:30:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_url existing CONNECTED connection authorize request failure leaves connection in existing condition the connection remains in the CONNECTED state and authorize fails (#RSA4c, #RSA4c1, #RSA4c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.633284"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0178290&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0178290&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:197:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_url opening a new connection request fails once due to slow response but succeeds the second time the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="36.146195"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca002b6a8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca002b6a8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:178:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_url opening a new connection request fails due to network failure the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.256709"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff1b1f0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff1b1f0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:65:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_url opening a new connection request fails due to slow response and subsequent timeout the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="4.016032"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f508e38&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f508e38&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:130:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_url opening a new connection request fails due to invalid content the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="4.016488"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f157e88&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f157e88&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:95:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_callback opening a new connection existing CONNECTED connection when callback fails due to the request taking longer than realtime_request_timeout the authorization request fails as configured in the realtime_request_timeout (#RSA4c, #RSA4c1, #RSA4c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.710417"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04cc310&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04cc310&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:256:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_callback opening a new connection when callback fails due to an exception the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.333322"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01bdc50&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01bdc50&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:227:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when connection state is :suspended stays in the suspended state after any number of reconnection attempts" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="3.897526"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when connection state is :suspended #close transitions connection state to :closed" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.790481"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when connection state is :suspended for the first time waits suspended_retry_timeout before attempting to reconnect" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.175807"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e56a198&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e56a198&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:401:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host #error_reason contains the error when state is suspended" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.799578"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host #error_reason contains the error when state is disconnected" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.029187"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host #error_reason is reset to nil when :connected" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.281191"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host #error_reason is reset to nil when :closed" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.157950"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host #error_reason contains the error when state is failed" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.788504"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when connection state is :failed #close will not transition state to :close and fails with an InvalidStateChange exception" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.785255"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when disconnected enters the suspended state after multiple attempts to connect" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.785769"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when disconnected for the first time reattempts connection immediately and then waits disconnected_retry_timeout for a subsequent attempt" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="2.177469"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when disconnected #close transitions connection state to :closed" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.158328"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry #connect connection opening times out attempts to reconnect" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="32.608122"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0492b10&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0492b10&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:509:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry #connect connection opening times out when retry intervals are stubbed to attempt reconnection quickly never calls the provided success block" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.510202"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with custom realtime websocket port option never uses a fallback host" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.034726"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0053c20&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0053c20&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1458:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with production environment when the Internet is down never uses a fallback host" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="32.728074"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff4c1d8&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff4c1d8&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1578:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with production environment when the Internet is up :fallback_hosts array is provided uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.098683"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f552df8&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f552df8&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1597:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with production environment when the Internet is up :fallback_hosts array is provided by an empty array uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.145943"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f0ae090&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f0ae090&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1597:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with production environment when the Internet is up and default options uses the correct host name for the WebSocket requests to the fallback hosts" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.949054"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0465f98&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0465f98&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1597:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with production environment when the Internet is up and default options uses the primary host when suspended, and then every fallback host and the primary host again on every subsequent suspended attempt" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.389668"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca015fd80&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca015fd80&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1597:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with production environment when the Internet is up and default options uses a fallback host + the original host once on every subsequent disconnected attempt until suspended" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="32.824341"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0082548&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0082548&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1597:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with non-production environment :fallback_hosts_use_default is true uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k7)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.585688"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff76b18&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff76b18&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1501:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with non-production environment :fallback_hosts_use_default is true does not use a fallback host if the connection connects on the default host and then later becomes disconnected" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.925975"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f652aa0&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f652aa0&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1520:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with non-production environment :fallback_hosts_use_default is unset uses fallback hosts by default" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.703457"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f155fe8&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f155fe8&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1482:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with non-production environment :fallback_hosts array is provided uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.743390"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0480528&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0480528&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:5:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/connection_failures_spec.rb:1547:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with custom realtime websocket host option never uses a fallback host" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.967217"></testcase>
<testcase classname="spec.acceptance.rest.encoders_spec" name="Ably::Models::MessageEncoders with text transport protocol without encryption with JSON data stringifies the JSON and sets the encoding attribute to &quot;json&quot;" file="./spec/acceptance/rest/encoders_spec.rb" time="0.002066"></testcase>
<testcase classname="spec.acceptance.rest.encoders_spec" name="Ably::Models::MessageEncoders with text transport protocol without encryption with UTF-8 data does not apply any encoding" file="./spec/acceptance/rest/encoders_spec.rb" time="0.001487"></testcase>
<testcase classname="spec.acceptance.rest.encoders_spec" name="Ably::Models::MessageEncoders with text transport protocol without encryption with binary data applies a base64 encoding and sets the encoding attribute to &quot;base64&quot;" file="./spec/acceptance/rest/encoders_spec.rb" time="0.001785"></testcase>
<testcase classname="spec.acceptance.rest.encoders_spec" name="Ably::Models::MessageEncoders with text transport protocol with encryption with JSON data applies json, utf-8, cipher and base64 encoding and sets the encoding attribute to &quot;json/utf-8/cipher+aes-128-cbc/base64&quot;" file="./spec/acceptance/rest/encoders_spec.rb" time="0.002389"></testcase>
<testcase classname="spec.acceptance.rest.encoders_spec" name="Ably::Models::MessageEncoders with text transport protocol with encryption with UTF-8 data applies utf-8, cipher and base64 encodings and sets the encoding attribute to &quot;utf-8/cipher+aes-128-cbc/base64&quot;" file="./spec/acceptance/rest/encoders_spec.rb" time="0.002287"></testcase>
<testcase classname="spec.acceptance.rest.encoders_spec" name="Ably::Models::MessageEncoders with text transport protocol with encryption with binary data applies cipher and base64 encoding and sets the encoding attribute to &quot;cipher+aes-128-cbc/base64&quot;" file="./spec/acceptance/rest/encoders_spec.rb" time="0.002174"></testcase>
<testcase classname="spec.acceptance.rest.encoders_spec" name="Ably::Models::MessageEncoders with binary transport protocol with encryption with UTF-8 data applies utf-8 and cipher encoding and sets the encoding attribute to &quot;utf-8/cipher+aes-128-cbc&quot;" file="./spec/acceptance/rest/encoders_spec.rb" time="0.002224"></testcase>
<testcase classname="spec.acceptance.rest.encoders_spec" name="Ably::Models::MessageEncoders with binary transport protocol with encryption with binary data applies cipher encoding and sets the encoding attribute to &quot;cipher+aes-128-cbc&quot;" file="./spec/acceptance/rest/encoders_spec.rb" time="0.002108"></testcase>
<testcase classname="spec.acceptance.rest.encoders_spec" name="Ably::Models::MessageEncoders with binary transport protocol with encryption with JSON data applies json, utf-8 and cipher encoding and sets the encoding attribute to &quot;json/utf-8/cipher+aes-128-cbc&quot;" file="./spec/acceptance/rest/encoders_spec.rb" time="0.002236"></testcase>
<testcase classname="spec.acceptance.rest.encoders_spec" name="Ably::Models::MessageEncoders with binary transport protocol without encryption with binary data does not apply any encoding" file="./spec/acceptance/rest/encoders_spec.rb" time="0.001478"></testcase>
<testcase classname="spec.acceptance.rest.encoders_spec" name="Ably::Models::MessageEncoders with binary transport protocol without encryption with JSON data stringifies the JSON and sets the encoding attribute to &quot;json&quot;" file="./spec/acceptance/rest/encoders_spec.rb" time="0.001636"></testcase>
<testcase classname="spec.acceptance.rest.encoders_spec" name="Ably::Models::MessageEncoders with binary transport protocol without encryption with UTF-8 data does not apply any encoding" file="./spec/acceptance/rest/encoders_spec.rb" time="0.001642"></testcase>
<testcase classname="spec.acceptance.rest.channels_spec" name="Ably::Rest::Channels using MsgPack protocol accessing an existing channel object with different options overrides the existing channel options and returns the channel object (RSN3c)" file="./spec/acceptance/rest/channels_spec.rb" time="0.001243"></testcase>
<testcase classname="spec.acceptance.rest.channels_spec" name="Ably::Rest::Channels using MsgPack protocol using #get method on client#channels behaves like a channel returns a channel object" file="./spec/acceptance/rest/channels_spec.rb" time="0.000901"></testcase>
<testcase classname="spec.acceptance.rest.channels_spec" name="Ably::Rest::Channels using MsgPack protocol using #get method on client#channels behaves like a channel returns channel object and passes the provided options" file="./spec/acceptance/rest/channels_spec.rb" time="0.000831"></testcase>
<testcase classname="spec.acceptance.rest.channels_spec" name="Ably::Rest::Channels using MsgPack protocol accessing an existing channel object without specifying any channel options returns the existing channel without modifying the channel options" file="./spec/acceptance/rest/channels_spec.rb" time="0.000974"></testcase>
<testcase classname="spec.acceptance.rest.channels_spec" name="Ably::Rest::Channels using MsgPack protocol #set_options (#RTL16) updates channel&apos;s options" file="./spec/acceptance/rest/channels_spec.rb" time="0.001108"></testcase>
<testcase classname="spec.acceptance.rest.channels_spec" name="Ably::Rest::Channels using MsgPack protocol #set_options (#RTL16) when providing Ably::Models::ChannelOptions object updates channel&apos;s options" file="./spec/acceptance/rest/channels_spec.rb" time="0.000954"></testcase>
<testcase classname="spec.acceptance.rest.channels_spec" name="Ably::Rest::Channels using MsgPack protocol using shortcut method #channel on the client object behaves like a channel returns channel object and passes the provided options" file="./spec/acceptance/rest/channels_spec.rb" time="0.002823"></testcase>
<testcase classname="spec.acceptance.rest.channels_spec" name="Ably::Rest::Channels using MsgPack protocol using shortcut method #channel on the client object behaves like a channel returns a channel object" file="./spec/acceptance/rest/channels_spec.rb" time="0.000805"></testcase>
<testcase classname="spec.acceptance.rest.channels_spec" name="Ably::Rest::Channels using MsgPack protocol using a frozen channel name behaves like a channel returns channel object and passes the provided options" file="./spec/acceptance/rest/channels_spec.rb" time="0.000762"></testcase>
<testcase classname="spec.acceptance.rest.channels_spec" name="Ably::Rest::Channels using MsgPack protocol using a frozen channel name behaves like a channel returns a channel object" file="./spec/acceptance/rest/channels_spec.rb" time="0.001000"></testcase>
<testcase classname="spec.acceptance.rest.channels_spec" name="Ably::Rest::Channels using MsgPack protocol using undocumented array accessor [] method on client#channels behaves like a channel returns channel object and passes the provided options" file="./spec/acceptance/rest/channels_spec.rb" time="0.001201"></testcase>
<testcase classname="spec.acceptance.rest.channels_spec" name="Ably::Rest::Channels using MsgPack protocol using undocumented array accessor [] method on client#channels behaves like a channel returns a channel object" file="./spec/acceptance/rest/channels_spec.rb" time="0.000777"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #save saves the new DeviceDetails Hash object" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.129302"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #save with a failed request fails if data is invalid" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.098654"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #remove_where removes all matching device registrations by client_id" file="./spec/acceptance/realtime/push_admin_spec.rb" time="33.130796"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations without permissions raises a permissions not authorized exception" file="./spec/acceptance/realtime/push_admin_spec.rb" time="37.813966"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ec82520&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ec82520&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/push_admin_spec.rb:169:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/push_admin_spec.rb:184:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #remove removes the provided device id string" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.366539"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #list supports paging" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.357154"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #list returns a PaginatedResult object containing DeviceDetails objects" file="./spec/acceptance/realtime/push_admin_spec.rb" time="33.556835"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #list raises an exception if params are invalid" file="./spec/acceptance/realtime/push_admin_spec.rb" time="33.828204"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #get returns a DeviceDetails object if a device ID string is provided" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.385803"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #get with a failed request raises a ResourceMissing exception if device ID does not exist" file="./spec/acceptance/realtime/push_admin_spec.rb" time="33.426365"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #list_channels returns a PaginatedResult object containing String objects" file="./spec/acceptance/realtime/push_admin_spec.rb" time="33.960671"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #save raises an exception for invalid params" file="./spec/acceptance/realtime/push_admin_spec.rb" time="33.447396"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #save saves the new client_id PushChannelSubscription Hash object" file="./spec/acceptance/realtime/push_admin_spec.rb" time="33.589512"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #save failed requests fails for invalid requests" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.707745"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #list raises an exception if none of the required filters are provided" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.532034"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #list supports paging" file="./spec/acceptance/realtime/push_admin_spec.rb" time="35.115819"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #list returns a PaginatedResult object containing DeviceDetails objects" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.959765"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #remove succeeds even if there is no match" file="./spec/acceptance/realtime/push_admin_spec.rb" time="35.084490"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #remove removes match for Hash object by channel and client_id" file="./spec/acceptance/realtime/push_admin_spec.rb" time="35.329027"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #remove_where succeeds on no match" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.790487"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #remove_where removes matching client_ids" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.407236"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #remove_where failed requests device_id and client_id filters in the same request are not supported" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.163508"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.246870"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f17c468&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f17c468&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/push_admin_spec.rb:33:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/push_admin_spec.rb:36:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish accepts valid push data and recipient" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.292343"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00ab6c8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00ab6c8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/push_admin_spec.rb:33:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/push_admin_spec.rb:126:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish invalid arguments raises an exception with a empty recipient" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.162510"><failure message="expected ArgumentError with message matching /empty/, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dcfdff0&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:33:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:60:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:60:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected ArgumentError with message matching /empty/, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dcfdff0&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:33:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:60:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:60:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/push_admin_spec.rb:60:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish invalid arguments raises an exception with a empty recipient" file="./spec/acceptance/realtime/push_admin_spec.rb" time="33.901416"><failure message="expected ArgumentError with message matching /empty/, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0103648&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:33:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:50:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:50:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected ArgumentError with message matching /empty/, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0103648&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:33:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:50:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:50:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/push_admin_spec.rb:50:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish invalid arguments raises an exception with a nil recipient" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.027343"><failure message="expected ArgumentError with message matching /Expecting a Hash/, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0272178&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:33:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:45:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:45:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected ArgumentError with message matching /Expecting a Hash/, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0272178&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:33:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:45:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:45:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/push_admin_spec.rb:45:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish invalid arguments raises an exception with a nil recipient" file="./spec/acceptance/realtime/push_admin_spec.rb" time="33.546866"><failure message="expected ArgumentError with message matching /Expecting a Hash/, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca008d9c0&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:33:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:55:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/push_admin_spec.rb:55:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected ArgumentError with message matching /Expecting a Hash/, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca008d9c0&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:33:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:55:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/push_admin_spec.rb:55:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/push_admin_spec.rb:55:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish recipient variable case is converted to snakeCase" file="./spec/acceptance/realtime/push_admin_spec.rb" time="4.014988"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff65340&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff65340&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/push_admin_spec.rb:105:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish using test environment channel recipient (#RSH1a) triggers a push notification" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.910637"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f630860&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f630860&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/push_admin_spec.rb:152:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/push_admin_spec.rb:156:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish invalid recipient raises an error after receiving a 40x realtime response" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.885783"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f1ea648&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f1ea648&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/push_admin_spec.rb:33:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/push_admin_spec.rb:69:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish invalid push data raises an error after receiving a 40x realtime response" file="./spec/acceptance/realtime/push_admin_spec.rb" time="34.277354"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dc37968&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dc37968&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/push_admin_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/push_admin_spec.rb:33:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/push_admin_spec.rb:80:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #auth_params_sync returns the auth params synchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="34.248309"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01bf208&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01bf208&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:814:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol server initiated AUTH ProtocolMessage when not received should expect the connection to be disconnected by the server but should resume automatically (#RTN22a)" file="./spec/acceptance/realtime/auth_spec.rb" time="34.261293"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00b25b8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00b25b8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:779:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol server initiated AUTH ProtocolMessage when received should immediately start a new authentication process (#RTN22)" file="./spec/acceptance/realtime/auth_spec.rb" time="34.368017"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff9dad8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff9dad8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:756:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with basic auth #authentication_security_requirements_met? returns true" file="./spec/acceptance/realtime/auth_spec.rb" time="35.772188"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f639c58&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f639c58&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:25:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with basic auth #using_token_auth? is false when using Basic Auth" file="./spec/acceptance/realtime/auth_spec.rb" time="33.877503"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f202ae0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f202ae0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:64:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with basic auth #key_secret contains the API key secret" file="./spec/acceptance/realtime/auth_spec.rb" time="34.645564"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dc5a710&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dc5a710&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:50:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with basic auth #key_name contains the API key name" file="./spec/acceptance/realtime/auth_spec.rb" time="40.392762"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01c36a0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01c36a0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:43:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with basic auth #key contains the API key" file="./spec/acceptance/realtime/auth_spec.rb" time="34.895383"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00b9ae8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00b9ae8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:36:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with basic auth #using_basic_auth? is true when using Basic Auth" file="./spec/acceptance/realtime/auth_spec.rb" time="33.702986"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffc44d0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffc44d0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:57:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol deprecated #authorise logs a deprecation warning (#RSA10l)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.561563"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f762648&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f762648&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1019:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol deprecated #authorise returns a valid token (#RSA10l)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.220887"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f36edc0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f36edc0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1025:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #create_token_request_async returns a token request synchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="34.347875"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e5e2a08&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e5e2a08&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:158:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #request_token returns a token asynchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="34.924156"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0355090&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0355090&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:168:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #create_token_request returns a token request asynchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="33.788480"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00ec560&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00ec560&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:148:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when explicitly called, with an explicit ClientOptions client_id and an incompatible client_id in a TokenDetails object passed to the auth callback rejects a TokenDetails object with an incompatible client_id and fails with an exception" file="./spec/acceptance/realtime/auth_spec.rb" time="34.326650"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fffe9f0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fffe9f0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:288:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token ensures message delivery continuity whilst upgrading (#RTC8a1)" file="./spec/acceptance/realtime/auth_spec.rb" time="34.929141"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fece058&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fece058&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:702:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when FAILED obtains a token and connects to Ably (#RTC8c, #RTC8b1)" file="./spec/acceptance/realtime/auth_spec.rb" time="34.015864"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f269bf0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f269bf0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:323:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:371:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when DISCONNECTED obtains a similar anonymous token and connects to Ably immediately (#RTC8c, #RTC8b1)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.244539"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dc37a08&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dc37a08&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:323:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:521:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when DISCONNECTED obtains a token, upgrades from anonymous to identified, and connects to Ably immediately (#RTC8c, #RTC8b1)" file="./spec/acceptance/realtime/auth_spec.rb" time="0.001455"><skipped/></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when upgrading capabilities is allowed (#RTC8a1)" file="./spec/acceptance/realtime/auth_spec.rb" time="34.525905"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0191560&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0191560&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:658:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when the authCallback fails calls the error callback of authorize and leaves the connection intact (#RSA4c3)" file="./spec/acceptance/realtime/auth_spec.rb" time="34.381712"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0094360&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0094360&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:639:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when SUSPENDED obtains a token and connects to Ably immediately (#RTC8c, #RTC8b1)" file="./spec/acceptance/realtime/auth_spec.rb" time="34.883411"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff70e48&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff70e48&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:323:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:565:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when in the CONNECTED state with a valid token in the AUTH ProtocolMessage sent obtains a new token (as anonymous user before &amp; after) and upgrades the connection after receiving an updated CONNECTED ProtocolMessage (#RTC8a, #RTC8a3)" file="./spec/acceptance/realtime/auth_spec.rb" time="33.742299"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f57c298&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f57c298&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:446:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when in the CONNECTED state with a valid token in the AUTH ProtocolMessage sent obtains a new token (that upgrades from anonymous to identified) and upgrades the connection after receiving an updated CONNECTED ProtocolMessage (#RTC8a, #RTC8a3)" file="./spec/acceptance/realtime/auth_spec.rb" time="0.001545"><skipped/></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when CONNECTING aborts the current connection process, obtains a token, and connects to Ably again (#RTC8b)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.728839"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9efc72d0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9efc72d0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:323:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:352:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when INITIALIZED obtains a token and connects to Ably (#RTC8c, #RTC8b1)" file="./spec/acceptance/realtime/auth_spec.rb" time="36.017819"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0480be0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0480be0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:331:in `block (8 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when downgrading capabilities (#RTC8a1) is allowed and channels are detached" file="./spec/acceptance/realtime/auth_spec.rb" time="34.254105"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01575b8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01575b8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:684:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when auth fails transitions the connection state to the FAILED state (#RSA15c, #RTC8a2, #RTC8a3)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.160018"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00531f8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00531f8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:610:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when CLOSED obtains a token and connects to Ably (#RTC8c, #RTC8b1, #RTC8a3)" file="./spec/acceptance/realtime/auth_spec.rb" time="34.861813"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff17f78&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff17f78&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:323:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:388:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when client is identified transitions the connection state to FAILED if the client_id changes (#RSA15c, #RTC8a2)" file="./spec/acceptance/realtime/auth_spec.rb" time="33.993815"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f464018&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f464018&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:597:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize with auth_callback blocking with a slow auth callback response asynchronously authenticates" file="./spec/acceptance/realtime/auth_spec.rb" time="34.734291"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e941050&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e941050&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:222:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize with token auth returns a token asynchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="33.961119"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca03727d0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca03727d0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:193:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when implicitly called, with an explicit ClientOptions client_id and an incompatible client_id in a TokenDetails object passed to the auth callback rejects a TokenDetails object with an incompatible client_id and fails with an exception" file="./spec/acceptance/realtime/auth_spec.rb" time="34.552831"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00f7208&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00f7208&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:240:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when implicitly called, with an explicit ClientOptions client_id and an incompatible client_id in a TokenRequest object passed to the auth callback and fails with an exception rejects a TokenRequests object with an incompatible client_id and fails with an exception" file="./spec/acceptance/realtime/auth_spec.rb" time="34.941333"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffffa58&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffffa58&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:256:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #request_token_async returns a token synchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="33.866796"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fec58b8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fec58b8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:179:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize_async returns a token synchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="35.025995"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f2b9c68&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f2b9c68&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:735:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #auth_header returns an auth header asynchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="34.380213"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dd8eeb0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dd8eeb0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:821:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using basic auth once connected contains a validated wildcard client_id" file="./spec/acceptance/realtime/auth_spec.rb" time="34.622553"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01c2250&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01c2250&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:857:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using basic auth once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="34.580263"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00ae4b8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00ae4b8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:850:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using basic auth before connected is false as basic auth users do not have an identity" file="./spec/acceptance/realtime/auth_spec.rb" time="33.743659"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff85ac8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff85ac8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:843:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token request with a client_id is not true as identification is not confirmed until authenticated" file="./spec/acceptance/realtime/auth_spec.rb" time="34.030237"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5889d0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5889d0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:999:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token request with a client_id once connected is true as identification is completed following CONNECTED ProtocolMessage" file="./spec/acceptance/realtime/auth_spec.rb" time="34.493993"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f0a3028&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f0a3028&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1005:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token with no client_id (anonymous) is true" file="./spec/acceptance/realtime/auth_spec.rb" time="34.652714"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca019e8a0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca019e8a0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:962:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token with no client_id (anonymous) once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="33.577132"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffe7520&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffe7520&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:968:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token with a client_id is true" file="./spec/acceptance/realtime/auth_spec.rb" time="34.371718"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3a8890&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3a8890&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:944:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token with a client_id once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="34.672779"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04706c8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04706c8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:950:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token with a wildcard client_id (anonymous) is true" file="./spec/acceptance/realtime/auth_spec.rb" time="34.827665"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0084d70&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0084d70&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:980:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token with a wildcard client_id (anonymous) once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="33.860745"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f637bd8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f637bd8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:986:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with a wildcard client_id (anonymous) before connected is false as identification is not possible from an opaque token string" file="./spec/acceptance/realtime/auth_spec.rb" time="34.083117"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e515cb0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e515cb0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:923:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with a wildcard client_id (anonymous) once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="33.866937"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0113ac0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0113ac0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:930:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with a valid client_id before connected is false as identification is not possible from an opaque token string" file="./spec/acceptance/realtime/auth_spec.rb" time="34.124946"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff53ed8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff53ed8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:871:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with a valid client_id before connected #client_id is nil" file="./spec/acceptance/realtime/auth_spec.rb" time="34.711856"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f1f4d00&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f1f4d00&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:876:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with a valid client_id once connected #client_id is populated" file="./spec/acceptance/realtime/auth_spec.rb" time="34.061512"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca027f788&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca027f788&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:890:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with a valid client_id once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="34.011293"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00389e8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00389e8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:883:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with no client_id (anonymous) before connected is false as identification is not possible from an opaque token string" file="./spec/acceptance/realtime/auth_spec.rb" time="33.793204"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5242f0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5242f0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:903:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with no client_id (anonymous) once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="34.468262"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04cac90&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04cac90&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:910:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #token_params contains the configured auth options" file="./spec/acceptance/realtime/auth_spec.rb" time="34.242493"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0163a98&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0163a98&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:116:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #options (auth_options) contains the configured auth options" file="./spec/acceptance/realtime/auth_spec.rb" time="35.739159"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0051c40&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0051c40&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:105:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #client_id contains the ClientOptions client ID" file="./spec/acceptance/realtime/auth_spec.rb" time="33.973313"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fefec08&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fefec08&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:76:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #using_token_auth? is true when using Token Auth" file="./spec/acceptance/realtime/auth_spec.rb" time="34.286718"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f328410&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f328410&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:134:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #using_basic_auth? is false when using Token Auth" file="./spec/acceptance/realtime/auth_spec.rb" time="34.829311"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9de8e6d0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9de8e6d0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:125:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #token_renewable? is true when an API key exists" file="./spec/acceptance/realtime/auth_spec.rb" time="34.138446"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0194a30&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0194a30&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:93:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #current_token_details contains the current token after auth" file="./spec/acceptance/realtime/auth_spec.rb" time="35.049215"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0086d28&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0086d28&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:83:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when the JWT token request includes a subscribe-only capability client fails to publish to a channel with subscribe-only capability and publishes successfully on a channel with permissions" file="./spec/acceptance/realtime/auth_spec.rb" time="34.658058"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff440f0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff440f0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1240:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when using auth_callback when credentials are invalid authentication fails and reason for disconnection is invalid signature" file="./spec/acceptance/realtime/auth_spec.rb" time="38.879982"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f4c6df8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f4c6df8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1109:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when using auth_callback when credentials are valid authentication succeeds and client can post a message" file="./spec/acceptance/realtime/auth_spec.rb" time="42.203831"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e876a80&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e876a80&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1094:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when JWT token expires client disconnects, a new token is requested via auth_callback and the client gets reconnected" file="./spec/acceptance/realtime/auth_spec.rb" time="33.951804"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01c5f68&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01c5f68&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1166:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when JWT token expires and an AUTH procol message is received client reauths correctly without going through a disconnection" file="./spec/acceptance/realtime/auth_spec.rb" time="33.793185"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca009b7f0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca009b7f0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1194:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when the client is initialized with ClientOptions and the token is a JWT token when credentials are valid posts successfully to a channel" file="./spec/acceptance/realtime/auth_spec.rb" time="34.697371"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fefa9f0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fefa9f0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1125:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when the client is initialized with ClientOptions and the token is a JWT token when credentials are invalid fails with an invalid signature error" file="./spec/acceptance/realtime/auth_spec.rb" time="35.437767"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f17dfc0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f17dfc0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1140:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when using auth_url when credentials are valid client successfully fetches a channel and publishes a message" file="./spec/acceptance/realtime/auth_spec.rb" time="33.444957"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0387748&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0387748&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1044:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when using auth_url when credentials are wrong disconnected includes and invalid signature message" file="./spec/acceptance/realtime/auth_spec.rb" time="33.904627"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00ee9a0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00ee9a0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1057:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when using auth_url when token is expired receives a 40142 error from the server" file="./spec/acceptance/realtime/auth_spec.rb" time="34.450980"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffe1940&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffe1940&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1069:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when the JWT token request includes a client_id the client_id is the same that was specified in the auth_callback that generated the JWT token" file="./spec/acceptance/realtime/auth_spec.rb" time="33.974103"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f63eaf0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f63eaf0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:1222:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #auth_params returns the auth params asynchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="34.221848"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f154918&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f154918&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:805:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #auth_header_sync returns an auth header synchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="35.115636"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca038e8e0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca038e8e0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `new&apos;
./spec/acceptance/realtime/auth_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/auth_spec.rb:830:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter without necessary capabilities to join presence calls the Deferrable errback on capabilities failure" file="./spec/acceptance/realtime/presence_spec.rb" time="33.271254"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00e2df8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00e2df8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1095:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1095:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1097:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1098:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1101:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter message #connection_id matches the current client connection_id" file="./spec/acceptance/realtime/presence_spec.rb" time="33.569013"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffcdcb0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffcdcb0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:15:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:15:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:24:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1082:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method presence enter : raise an exception if the channel becomes detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.475368"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f6529b0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f6529b0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:83:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:82:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method presence enter : raise an exception if the channel becomes failed" file="./spec/acceptance/realtime/presence_spec.rb" time="34.783873"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f0efd38&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f0efd38&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:116:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:115:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method presence enter : raise an exception if the channel is failed" file="./spec/acceptance/realtime/presence_spec.rb" time="34.209507"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0365008&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0365008&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:99:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:98:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method implicitly attaches the channel" file="./spec/acceptance/realtime/presence_spec.rb" time="34.868752"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00d2278&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00d2278&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:131:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="34.802721"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff9f608&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff9f608&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:295:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:294:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method allows a block to be passed in that is executed upon success" file="./spec/acceptance/realtime/presence_spec.rb" time="35.589944"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f59c408&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f59c408&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:302:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:301:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.807545"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ec757d0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ec757d0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:310:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:309:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method catches exceptions in the provided method block and logs them to the logger" file="./spec/acceptance/realtime/presence_spec.rb" time="34.372700"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca027f800&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca027f800&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:320:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:319:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method presence enter : raise an exception if the channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.804509"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00b2b30&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00b2b30&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:65:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:64:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with unsupported data payload content type Integer raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.774505"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff35938&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff35938&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with unsupported data payload content type Boolean raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.096464"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f20ef20&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f20ef20&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with unsupported data payload content type False raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.537141"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01cf590&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01cf590&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with unsupported data payload content type Float raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.509845"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0045238&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0045238&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method when :queue_messages client option is false and connection state disconnected fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.608044"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f6fcac8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f6fcac8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:165:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:165:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:168:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method when :queue_messages client option is false and connection state connected publishes the message" file="./spec/acceptance/realtime/presence_spec.rb" time="34.279553"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f17f5c8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f17f5c8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:183:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method when :queue_messages client option is false and connection state connecting fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.067401"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0373158&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0373158&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:153:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method when :queue_messages client option is false and connection state initialized fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.135281"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00d3c40&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00d3c40&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:143:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method if connection fails before success calls the Deferrable errback if channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.189516"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff99ff0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff99ff0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:333:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:332:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with supported data payload content type String is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.487752"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f552e48&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f552e48&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:197:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:231:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:230:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with supported data payload content type JSON Object (Hash) is encoded and decoded to the same hash" file="./spec/acceptance/realtime/presence_spec.rb" time="33.901253"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9eade368&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9eade368&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:197:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:211:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:210:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with supported data payload content type JSON Array is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.906777"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f83d810&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f83d810&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:197:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:221:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:220:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with supported data payload content type Binary is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.242194"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0080f90&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0080f90&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:197:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:241:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:240:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter data attribute when provided as argument option to #enter changes to value provided in #leave" file="./spec/acceptance/realtime/presence_spec.rb" time="37.736619"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff1e030&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff1e030&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1060:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol REST #get returns no members once left" file="./spec/acceptance/realtime/presence_spec.rb" time="34.404134"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f341af0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f341af0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1989:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol REST #get returns current members" file="./spec/acceptance/realtime/presence_spec.rb" time="33.068703"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04c06c8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04c06c8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1973:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol leaving expect :left event with client data from enter event" file="./spec/acceptance/realtime/presence_spec.rb" time="34.143157"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0147000&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0147000&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2180:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol leaving expect :left event once underlying connection is closed" file="./spec/acceptance/realtime/presence_spec.rb" time="33.789496"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca000dc70&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca000dc70&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2170:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol when attached (but not present) on a presence channel with an anonymous client (no client ID) maintains state as other clients enter and leave the channel (#RTP2e)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.520665"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f7061e0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f7061e0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:480:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #subscribe implicitly attaches" file="./spec/acceptance/realtime/presence_spec.rb" time="34.035736"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f161438&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f161438&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1902:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #subscribe with event name calls the callback for specified presence event" file="./spec/acceptance/realtime/presence_spec.rb" time="35.573827"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0285a20&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0285a20&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1883:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #subscribe with a callback that raises an exception logs the error and continues" file="./spec/acceptance/realtime/presence_spec.rb" time="33.850232"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00b36c0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00b36c0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1916:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #subscribe with no arguments calls the callback for all presence events" file="./spec/acceptance/realtime/presence_spec.rb" time="34.795899"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff5bd18&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff5bd18&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1863:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol channel state side effects (RTP5) channel transitions to the SUSPENDED state maintains the PresenceMap and only publishes presence event changes since the last attached state (#RTP5f)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.969934"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f4a7e30&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f4a7e30&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2754:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol channel state side effects (RTP5) channel transitions to the ATTACHED state (RTP5b) all queued presence messages are sent" file="./spec/acceptance/realtime/presence_spec.rb" time="35.390020"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dd92678&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dd92678&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2669:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol channel state side effects (RTP5) channel transitions to the FAILED state clears the PresenceMap and local member map copy and does not emit any presence events (#RTP5a)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.106737"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca015b618&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca015b618&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:2686:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:2686:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2689:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol channel state side effects (RTP5) channel transitions to the DETACHED state clears the PresenceMap and local member map copy and does not emit any presence events (#RTP5a)" file="./spec/acceptance/realtime/presence_spec.rb" time="33.596915"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca001ca90&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca001ca90&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2716:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:94:in `wait_until&apos;
./spec/acceptance/realtime/presence_spec.rb:2716:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol state once opened once opened, enters the :left state if the channel detaches" file="./spec/acceptance/realtime/presence_spec.rb" time="34.886401"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f71b9a0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f71b9a0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1035:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol connection failure mid-way through a large member sync resumes the SYNC operation (#RTP3)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.171712"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f1570a0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f1570a0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2200:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2199:in `times&apos;
./spec/acceptance/realtime/presence_spec.rb:2199:in `each&apos;
./spec/acceptance/realtime/presence_spec.rb:2199:in `map&apos;
./spec/acceptance/realtime/presence_spec.rb:2199:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) is available once the channel is created" file="./spec/acceptance/realtime/presence_spec.rb" time="34.392975"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fe58650&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fe58650&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:510:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) is not synchronised when initially created" file="./spec/acceptance/realtime/presence_spec.rb" time="33.983647"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00a1fd8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00a1fd8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:515:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) will emit an :sync_complete event when synchronisation is complete" file="./spec/acceptance/realtime/presence_spec.rb" time="33.444997"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff45ae0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff45ae0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:520:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) the map is based on the member_key (connection_id &amp; client_id) ensures uniqueness from this member_key (#RTP2a)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.144176"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3b5248&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3b5248&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:575:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) newness is compared based on PresenceMessage#id unless synthesized when presence messages are synthesized compares based on timestamp if either has a connectionId not part of the presence message id (#RTP2b1)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.999364"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04b46c0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04b46c0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:608:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:608:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:625:in `allow_sync_fabricate_data_final_sync_and_assert_members&apos;
./spec/acceptance/realtime/presence_spec.rb:682:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) newness is compared based on PresenceMessage#id unless synthesized when presence messages are not synthesized (events sent from clients) compares based on timestamp if either has a connectionId not part of the presence message id (#RTP2b2)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.327429"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca010cae0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca010cae0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:608:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:608:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:625:in `allow_sync_fabricate_data_final_sync_and_assert_members&apos;
./spec/acceptance/realtime/presence_spec.rb:699:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) once server sync is complete behaves like an Enumerable allowing direct access to current members" file="./spec/acceptance/realtime/presence_spec.rb" time="33.529818"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffe13f0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffe13f0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:540:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) before server sync complete behaves like an Enumerable allowing direct access to current members" file="./spec/acceptance/realtime/presence_spec.rb" time="33.150999"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5d3f98&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5d3f98&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:532:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol server-initiated sync with multiple SYNC pages is initiated with a SYNC message and completed with a later SYNC message with no cursor value part of the channelSerial (#RTP18a, #RTP18b) " file="./spec/acceptance/realtime/presence_spec.rb" time="34.706837"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9eb450e0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9eb450e0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2237:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol server-initiated sync when members exist in the PresenceMap before a SYNC completes removes the members that are no longer present (#RTP19)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.054108"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0183230&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0183230&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2333:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol server-initiated sync with a single SYNC page is initiated and completed with a single SYNC message (and no channelSerial) (#RTP18a, #RTP18c) " file="./spec/acceptance/realtime/presence_spec.rb" time="34.102562"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca004fa30&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca004fa30&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:20:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2286:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get filters by connection_id option if provided (#RTP11c3)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.513622"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fed1ff0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fed1ff0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1718:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get implicitly attaches the channel (#RTP11b)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.396194"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f1b7888&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f1b7888&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1565:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get does not wait for SYNC to complete if :wait_for_sync option is false (#RTP11c1)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.742636"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca027e248&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca027e248&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1764:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get filters by client_id option if provided (#RTP11c2)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.275255"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0096278&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0096278&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1740:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get returns the list of members and waits for SYNC to complete by default (#RTP11a)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.117309"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff27450&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff27450&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1776:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get catches exceptions in the provided method block" file="./spec/acceptance/realtime/presence_spec.rb" time="34.114947"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f31b968&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f31b968&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1557:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.325256"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0460d18&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0460d18&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1550:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get returns the current members on the channel (#RTP11a)" file="./spec/acceptance/realtime/presence_spec.rb" time="41.113466"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00d07c0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00d07c0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1701:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="34.651260"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff71938&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff71938&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1545:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get fails if the connection is DETACHED (#RTP11b)" file="./spec/acceptance/realtime/presence_spec.rb" time="33.871884"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f4c49b8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f4c49b8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1600:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get fails if the connection is FAILED (#RTP11b)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.847491"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04b4c10&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04b4c10&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1617:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get when a member enters and the presence map is updated adds the member as being :present (#RTP2d)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.504810"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00faf20&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00faf20&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1804:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get when a member enters and then leaves has no members" file="./spec/acceptance/realtime/presence_spec.rb" time="34.921896"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffa37f8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffa37f8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1789:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get during a sync when :wait_for_sync is true fails if the channel becomes detached (#RTP11b)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.062270"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f2af7b8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f2af7b8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1635:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1635:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1643:in `block (3 levels) in connect_members_deferrables&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get during a sync when :wait_for_sync is true fails if the connection becomes FAILED (#RTP11b)" file="./spec/acceptance/realtime/presence_spec.rb" time="33.172133"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0178df8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0178df8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1635:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1635:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1643:in `block (3 levels) in connect_members_deferrables&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get with lots of members on different clients returns a complete list of members on all clients" file="./spec/acceptance/realtime/presence_spec.rb" time="34.311529"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca002f3c0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca002f3c0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1818:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1818:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1825:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:94:in `wait_until&apos;
./spec/acceptance/realtime/presence_spec.rb:1825:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get when the channel is SUSPENDED with wait_for_sync: false returns the current PresenceMap and does not wait for the channel to change to the ATTACHED state (#RTP11d)" file="./spec/acceptance/realtime/presence_spec.rb" time="32.897769"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f6f0638&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f6f0638&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1588:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get when the channel is SUSPENDED with wait_for_sync: true results in an error with @code@ @91005@ and a @message@ stating that the presence state is out of sync (#RTP11d)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.085363"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9eacfd90&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9eacfd90&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1575:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update without previous #enter automatically enters" file="./spec/acceptance/realtime/presence_spec.rb" time="33.718872"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01605f0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01605f0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1113:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update updates the data to nil if :data argument is not provided (assumes nil value)" file="./spec/acceptance/realtime/presence_spec.rb" time="32.980422"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0009148&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0009148&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1150:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update updates the data if :data argument provided" file="./spec/acceptance/realtime/presence_spec.rb" time="34.790994"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f686ff8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f686ff8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1138:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update when ENTERED has no effect on the state" file="./spec/acceptance/realtime/presence_spec.rb" time="34.746034"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e63e600&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e63e600&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1123:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method presence update : raise an exception if the channel is failed" file="./spec/acceptance/realtime/presence_spec.rb" time="34.545443"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0117490&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0117490&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:98:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method presence update : raise an exception if the channel becomes detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.496521"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffd62c0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffd62c0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:82:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="34.342859"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5277e8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5277e8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:294:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method presence update : raise an exception if the channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.163664"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca048a1e0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca048a1e0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:64:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method implicitly attaches the channel" file="./spec/acceptance/realtime/presence_spec.rb" time="34.358263"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00de5a0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00de5a0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:131:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method presence update : raise an exception if the channel becomes failed" file="./spec/acceptance/realtime/presence_spec.rb" time="34.285928"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff70088&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff70088&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:115:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method allows a block to be passed in that is executed upon success" file="./spec/acceptance/realtime/presence_spec.rb" time="35.076896"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3cbe30&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3cbe30&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:301:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method catches exceptions in the provided method block and logs them to the logger" file="./spec/acceptance/realtime/presence_spec.rb" time="35.330511"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0355748&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0355748&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:319:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.121749"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0097560&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0097560&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:309:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with supported data payload content type Binary is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.717727"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff0b098&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff0b098&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:240:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with supported data payload content type JSON Array is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="33.834106"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f249cb0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f249cb0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:220:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with supported data payload content type JSON Object (Hash) is encoded and decoded to the same hash" file="./spec/acceptance/realtime/presence_spec.rb" time="34.013785"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00c0a00&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00c0a00&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:210:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with supported data payload content type String is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.003461"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f2ec848&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f2ec848&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:230:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method if connection fails before success calls the Deferrable errback if channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.015862"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff2c298&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff2c298&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:332:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method when :queue_messages client option is false and connection state connected publishes the message" file="./spec/acceptance/realtime/presence_spec.rb" time="35.225295"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca038ecc8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca038ecc8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:183:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method when :queue_messages client option is false and connection state initialized fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.730441"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca015cc48&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca015cc48&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:143:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method when :queue_messages client option is false and connection state connecting fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.916788"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffebbc0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffebbc0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:153:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method when :queue_messages client option is false and connection state disconnected fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.818458"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5684c8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5684c8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:165:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:165:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:168:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with unsupported data payload content type Boolean raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.428748"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9df80958&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9df80958&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with unsupported data payload content type Float raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.891371"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00fd270&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00fd270&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with unsupported data payload content type False raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.182520"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fef2e30&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fef2e30&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with unsupported data payload content type Integer raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.873645"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ea98cf0&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ea98cf0&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #unsubscribe with event name removes the callback for specified presence event" file="./spec/acceptance/realtime/presence_spec.rb" time="35.272311"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca019aac0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca019aac0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1954:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #unsubscribe with no arguments removes the callback for all presence events" file="./spec/acceptance/realtime/presence_spec.rb" time="34.437155"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca004a6e8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca004a6e8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1936:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol :left event emits the data defined in enter" file="./spec/acceptance/realtime/presence_spec.rb" time="34.906798"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f6e2768&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f6e2768&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:15:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:15:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:24:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1263:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol :left event emits the data defined in update" file="./spec/acceptance/realtime/presence_spec.rb" time="36.292453"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9efa7548&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9efa7548&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:15:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:15:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:24:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1276:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method catches exceptions in the provided method block and logs them to the logger" file="./spec/acceptance/realtime/presence_spec.rb" time="35.760197"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0365710&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0365710&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:320:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:319:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.384083"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0094338&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0094338&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:310:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:309:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method presence update_client : raise an exception if the channel becomes detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.616812"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fef13a0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fef13a0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:83:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:82:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method presence update_client : raise an exception if the channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.064861"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f1c08c0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f1c08c0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:65:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:64:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method allows a block to be passed in that is executed upon success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.107399"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04819a0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04819a0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:302:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:301:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method presence update_client : raise an exception if the channel becomes failed" file="./spec/acceptance/realtime/presence_spec.rb" time="33.183656"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00d10f8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00d10f8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:116:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:115:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="34.319861"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff4c688&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff4c688&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:295:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:294:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method presence update_client : raise an exception if the channel is failed" file="./spec/acceptance/realtime/presence_spec.rb" time="34.425311"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f2eee18&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f2eee18&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:99:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:98:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method implicitly attaches the channel" file="./spec/acceptance/realtime/presence_spec.rb" time="33.421899"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04c26f8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04c26f8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:131:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method when :queue_messages client option is false and connection state disconnected fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.036404"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00fe968&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00fe968&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:165:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:165:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:168:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method when :queue_messages client option is false and connection state connected publishes the message" file="./spec/acceptance/realtime/presence_spec.rb" time="34.837948"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff7c630&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff7c630&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:183:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method when :queue_messages client option is false and connection state initialized fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.070436"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f351338&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f351338&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:143:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method when :queue_messages client option is false and connection state connecting fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.955224"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9db68bb8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9db68bb8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:153:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with supported data payload content type JSON Array is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="33.890632"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0114010&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0114010&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:195:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:221:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:220:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with supported data payload content type String is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.275019"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff8d890&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff8d890&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:195:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:231:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:230:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with supported data payload content type Binary is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="35.295860"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3c9090&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3c9090&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:195:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:241:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:240:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with supported data payload content type JSON Object (Hash) is encoded and decoded to the same hash" file="./spec/acceptance/realtime/presence_spec.rb" time="34.473574"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dbc5ae8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9dbc5ae8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:195:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:211:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:210:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method if connection fails before success calls the Deferrable errback if channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="33.843873"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0115b90&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0115b90&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:333:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:332:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with unsupported data payload content type Integer raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="33.780315"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff4c1b0&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff4c1b0&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with unsupported data payload content type False raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.441539"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9efa4230&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9efa4230&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with unsupported data payload content type Boolean raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.059396"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0154de0&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0154de0&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with unsupported data payload content type Float raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="39.699013"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff19288&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff19288&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when anonymous and no client_id and another invalid client_id after authentication throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="36.213956"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9da609a0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9da609a0&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:454:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when anonymous and no client_id and another invalid client_id before authentication allows the operation and then Ably rejects the operation" file="./spec/acceptance/realtime/presence_spec.rb" time="34.319159"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca004bc78&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca004bc78&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:445:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when anonymous and no client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="33.934618"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f125258&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:464:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:464:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f125258&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:464:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:464:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:464:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when anonymous and no client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.649867"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0076310&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:471:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:471:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0076310&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:471:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:471:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:471:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a valid client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.745011"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f099730&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:429:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:429:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f099730&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:429:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:429:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:429:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a valid client_id and another invalid client_id after authentication throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.001821"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0083d08&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0083d08&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:412:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a valid client_id and another invalid client_id before authentication allows the operation and then Ably rejects the operation" file="./spec/acceptance/realtime/presence_spec.rb" time="35.261499"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f32bb10&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f32bb10&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:403:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a valid client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.311789"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01113b0&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:422:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:422:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01113b0&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:422:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:422:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:422:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a wildcard client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.815348"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f34c7e8&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:373:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:373:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f34c7e8&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:373:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:373:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:373:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a wildcard client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.534870"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00ceb28&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:380:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:380:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00ceb28&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:380:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:380:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:380:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a wildcard client_id and a client_id that is not a string type throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.067446"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f252fe0&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:387:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:387:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f252fe0&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:387:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:387:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:387:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a wildcard client_id and a valid client_id succeeds" file="./spec/acceptance/realtime/presence_spec.rb" time="35.001338"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9febd960&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9febd960&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:363:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client multiple times on the same channel with different client_ids updates the data attribute for the member when :data option provided" file="./spec/acceptance/realtime/presence_spec.rb" time="35.100699"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f352670&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f352670&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1372:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client multiple times on the same channel with different client_ids enters if not already entered" file="./spec/acceptance/realtime/presence_spec.rb" time="34.835613"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0111748&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0111748&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1412:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client multiple times on the same channel with different client_ids updates the data attribute to null for the member when :data option is not provided (assumed null)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.870242"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0276a70&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0276a70&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1396:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client message #connection_id matches the current client connection_id" file="./spec/acceptance/realtime/presence_spec.rb" time="34.807006"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0055a98&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0055a98&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1296:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1296:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:24:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1336:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method presence enter_client : raise an exception if the channel becomes detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.024058"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f638c90&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f638c90&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:83:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:82:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method presence enter_client : raise an exception if the channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.941488"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e9b38a8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e9b38a8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:65:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:64:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.770816"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01c2278&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01c2278&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:310:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:309:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method catches exceptions in the provided method block and logs them to the logger" file="./spec/acceptance/realtime/presence_spec.rb" time="35.472848"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca003a5b8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca003a5b8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:320:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:319:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method presence enter_client : raise an exception if the channel becomes failed" file="./spec/acceptance/realtime/presence_spec.rb" time="33.700323"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5de948&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f5de948&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:116:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:115:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="34.631486"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e6608b8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e6608b8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:295:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:294:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method presence enter_client : raise an exception if the channel is failed" file="./spec/acceptance/realtime/presence_spec.rb" time="34.688930"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca018d410&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca018d410&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:99:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:98:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method allows a block to be passed in that is executed upon success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.849788"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0003b58&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0003b58&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:302:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:301:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method implicitly attaches the channel" file="./spec/acceptance/realtime/presence_spec.rb" time="33.582390"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f44ad70&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f44ad70&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:131:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with unsupported data payload content type False raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.810007"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9d40e368&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9d40e368&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with unsupported data payload content type Boolean raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="33.573412"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00836c8&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00836c8&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with unsupported data payload content type Integer raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.010862"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3fde30&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3fde30&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with unsupported data payload content type Float raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="33.857225"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0468838&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0468838&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with supported data payload content type Binary is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="33.576882"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca005a480&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca005a480&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:195:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:241:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:240:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with supported data payload content type JSON Object (Hash) is encoded and decoded to the same hash" file="./spec/acceptance/realtime/presence_spec.rb" time="34.709712"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f615678&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f615678&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:195:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:211:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:210:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with supported data payload content type String is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.227761"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e8067a8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e8067a8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:195:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:231:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:230:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with supported data payload content type JSON Array is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.923820"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0171940&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0171940&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:195:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:221:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:220:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method when :queue_messages client option is false and connection state initialized fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="33.609629"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffcb578&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ffcb578&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:143:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method when :queue_messages client option is false and connection state disconnected fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="33.030970"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3cb390&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f3cb390&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:165:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:165:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:168:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method when :queue_messages client option is false and connection state connected publishes the message" file="./spec/acceptance/realtime/presence_spec.rb" time="34.224753"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04a7df8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04a7df8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:183:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method when :queue_messages client option is false and connection state connecting fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.130044"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fef8510&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fef8510&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:153:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method if connection fails before success calls the Deferrable errback if channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="33.924810"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f10f958&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f10f958&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:333:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:332:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a valid client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.627491"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0493920&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:422:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:422:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0493920&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:422:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:422:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:422:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a valid client_id and another invalid client_id before authentication allows the operation and then Ably rejects the operation" file="./spec/acceptance/realtime/presence_spec.rb" time="36.327542"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff581e0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff581e0&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:403:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a valid client_id and another invalid client_id after authentication throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="36.444852"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9df8f9d0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9df8f9d0&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:412:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a valid client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.573435"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a4cdf8&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:429:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:429:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a4cdf8&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:429:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:429:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:429:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a wildcard client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.402195"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c97cc0&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:373:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:373:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c97cc0&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:373:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:373:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:373:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a wildcard client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="36.518281"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0f1d4e0&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:380:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:380:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0f1d4e0&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:380:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:380:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:380:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a wildcard client_id and a valid client_id succeeds" file="./spec/acceptance/realtime/presence_spec.rb" time="35.509599"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca11454c0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca11454c0&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:363:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a wildcard client_id and a client_id that is not a string type throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.284612"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f248b58&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:387:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:387:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f248b58&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:387:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:387:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:387:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when anonymous and no client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.885850"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1137320&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:464:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:464:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1137320&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:464:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:464:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:464:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when anonymous and no client_id and another invalid client_id after authentication throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.812502"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0e2b8c0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0e2b8c0&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:454:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when anonymous and no client_id and another invalid client_id before authentication allows the operation and then Ably rejects the operation" file="./spec/acceptance/realtime/presence_spec.rb" time="34.929002"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0b05a38&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0b05a38&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:445:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when anonymous and no client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.066100"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0483a48&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:471:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:471:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0483a48&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:471:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:471:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:471:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client without necessary capabilities to enter on behalf of another client calls the Deferrable errback on capabilities failure" file="./spec/acceptance/realtime/presence_spec.rb" time="35.260175"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca004b188&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca004b188&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1350:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1350:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1352:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1353:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1356:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client multiple times on the same channel with different client_ids enters a channel and sets the data based on the provided :data option" file="./spec/acceptance/realtime/presence_spec.rb" time="33.342644"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f594b18&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f594b18&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1315:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client multiple times on the same channel with different client_ids has no affect on the client&apos;s presence state and only enters on behalf of the provided client_id" file="./spec/acceptance/realtime/presence_spec.rb" time="35.557637"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9df5efb0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9df5efb0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1302:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1301:in `times&apos;
./spec/acceptance/realtime/presence_spec.rb:1301:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when anonymous and no client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.390078"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca10b46a0&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:464:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:464:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca10b46a0&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:464:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:464:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:464:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when anonymous and no client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.333000"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0cef6a0&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:471:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:471:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0cef6a0&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:471:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:471:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:471:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when anonymous and no client_id and another invalid client_id before authentication allows the operation and then Ably rejects the operation" file="./spec/acceptance/realtime/presence_spec.rb" time="34.980028"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a132d8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a132d8&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:440:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:445:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when anonymous and no client_id and another invalid client_id after authentication throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.462906"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0167008&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0167008&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:438:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:438:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:439:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:454:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a wildcard client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.624764"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f42b6f0&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:380:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:380:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f42b6f0&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:380:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:380:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:380:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a wildcard client_id and a valid client_id succeeds" file="./spec/acceptance/realtime/presence_spec.rb" time="34.168203"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca11e7860&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca11e7860&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:363:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a wildcard client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.127370"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0edae60&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:373:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:373:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0edae60&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:373:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:373:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:373:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a wildcard client_id and a client_id that is not a string type throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="33.868795"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0b22c50&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:387:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:387:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0b22c50&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:358:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:359:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:387:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:387:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:387:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a valid client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.528115"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca035d9c0&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:422:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:422:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca035d9c0&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:422:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:422:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:422:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a valid client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.821824"><failure message="expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f62a000&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:429:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:429:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::IncompatibleClientId, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f62a000&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:429:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:429:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:429:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a valid client_id and another invalid client_id before authentication allows the operation and then Ably rejects the operation" file="./spec/acceptance/realtime/presence_spec.rb" time="34.201245"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca121dd48&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca121dd48&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:398:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:403:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a valid client_id and another invalid client_id after authentication throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.367492"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0f7a848&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0f7a848&gt;
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:396:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:397:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:412:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client leaves a channel with a nil value in :data option emits the leave event with the previous value as a convenience" file="./spec/acceptance/realtime/presence_spec.rb" time="34.174386"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0d7b038&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0d7b038&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1509:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client leaves a channel multiple times on the same channel with different client_ids emits the :leave event for each client_id" file="./spec/acceptance/realtime/presence_spec.rb" time="34.358206"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0b9a098&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0b9a098&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1444:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client leaves a channel multiple times on the same channel with different client_ids succeeds if that client_id has not previously entered the channel" file="./spec/acceptance/realtime/presence_spec.rb" time="60.574919"><failure message="RSpec::Core::MultipleExceptionError" type="RSpec::Core::MultipleExceptionError">
</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client leaves a channel with no :data option emits the leave event with the previous value as a convenience" file="./spec/acceptance/realtime/presence_spec.rb" time="28.848304"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca047b960&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca047b960&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1524:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client leaves a channel with a new value in :data option emits the leave event with the new data value" file="./spec/acceptance/realtime/presence_spec.rb" time="33.569111"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca009ed38&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca009ed38&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1494:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method presence leave_client : raise an exception if the channel becomes detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.437628"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9feb0fd0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9feb0fd0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:83:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:82:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method presence leave_client : raise an exception if the channel is failed" file="./spec/acceptance/realtime/presence_spec.rb" time="34.186931"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e9430f8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e9430f8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:99:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:98:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method allows a block to be passed in that is executed upon success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.371922"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca11e85d0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca11e85d0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:302:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:301:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.246490"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1065ed8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1065ed8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:310:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:309:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method presence leave_client : raise an exception if the channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="35.129118"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0e7bca8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0e7bca8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:65:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:64:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method catches exceptions in the provided method block and logs them to the logger" file="./spec/acceptance/realtime/presence_spec.rb" time="34.900875"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c89828&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c89828&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:320:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:319:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="33.679509"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a86850&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a86850&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:295:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:294:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method implicitly attaches the channel" file="./spec/acceptance/realtime/presence_spec.rb" time="34.589901"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca09906d0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca09906d0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:131:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method presence leave_client : raise an exception if the channel becomes failed" file="./spec/acceptance/realtime/presence_spec.rb" time="34.099919"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0174528&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0174528&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:116:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:115:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with unsupported data payload content type Integer raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.316894"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff4d808&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff4d808&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with unsupported data payload content type Boolean raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.973521"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e623648&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e623648&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with unsupported data payload content type Float raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.581177"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1135f98&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1135f98&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with unsupported data payload content type False raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.058391"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0e5faf8&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0e5faf8&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:250:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with supported data payload content type JSON Object (Hash) is encoded and decoded to the same hash" file="./spec/acceptance/realtime/presence_spec.rb" time="33.810131"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c74bf8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c74bf8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:195:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:211:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:210:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with supported data payload content type JSON Array is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.129340"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a6eea8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a6eea8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:195:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:221:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:220:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with supported data payload content type String is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.434065"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0985208&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0985208&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:195:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:231:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:230:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with supported data payload content type Binary is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="35.054973"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0156b18&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0156b18&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:195:in `register_presence_and_check_data&apos;
./spec/acceptance/realtime/presence_spec.rb:241:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:240:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method when :queue_messages client option is false and connection state connecting fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.373560"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff71a28&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff71a28&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:153:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method when :queue_messages client option is false and connection state disconnected fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="33.964118"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f252a18&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f252a18&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:165:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:165:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:168:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method when :queue_messages client option is false and connection state connected publishes the message" file="./spec/acceptance/realtime/presence_spec.rb" time="34.250166"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca12ac840&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca12ac840&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:183:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method when :queue_messages client option is false and connection state initialized fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="35.231027"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca10c46e0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca10c46e0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:143:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method if connection fails before success calls the Deferrable errback if channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.020455"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0ef6a20&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0ef6a20&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:1295:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:333:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:58:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:332:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol local PresenceMap for presence members entered by this client maintains a copy of the member map for any member that shares this connection&apos;s connection ID (#RTP17)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.850164"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0cefd30&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0cefd30&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2438:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol local PresenceMap for presence members entered by this client when a channel becomes attached again and the resume flag is false and the presence flag is false immediately resends all local presence members (#RTP5c2, #RTP19a)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.155540"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0b011e0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0b011e0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2543:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol local PresenceMap for presence members entered by this client when a channel becomes attached again when re-entering a client automatically, if the re-enter fails for any reason should emit an ErrorInfo with error code 91004 (#RTP5c3)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.430534"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca09d5aa0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca09d5aa0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:2612:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:2612:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2615:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol local PresenceMap for presence members entered by this client #RTP17b does no update presence members on fabricated leave" file="./spec/acceptance/realtime/presence_spec.rb" time="35.187176"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01c76b0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca01c76b0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:15:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:15:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:24:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:25:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2491:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol local PresenceMap for presence members entered by this client #RTP17b updates presence members on leave" file="./spec/acceptance/realtime/presence_spec.rb" time="33.358798"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0003ba8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0003ba8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:15:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:15:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:24:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:25:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2466:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol when the client does not have presence subscribe privileges but is present on the channel receives presence updates for all presence events generated by the current connection and the presence map is kept up to date (#RTP17a)" file="./spec/acceptance/realtime/presence_spec.rb" time="33.756737"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f4a42d0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f4a42d0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:2387:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:2387:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2391:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #sync_complete? and SYNC flags (#RTP1) when attaching to a channel without any members present sync_complete? is true, no members are received and the presence channel is synced (#RTP1)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.671901"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1304ef0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1304ef0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:710:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #sync_complete? and SYNC flags (#RTP1) when attaching to a channel with members present sync_complete? is false, there is a presence flag, and the presence channel is subsequently synced (#RTP1)" file="./spec/acceptance/realtime/presence_spec.rb" time="33.876463"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1132dc0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1132dc0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:739:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave succeeds and does not emit an event (#RTP10d)" file="./spec/acceptance/realtime/presence_spec.rb" time="33.498508"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0f60740&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0f60740&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1245:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave :data option and sync is complete does not cache members that have left" file="./spec/acceptance/realtime/presence_spec.rb" time="34.160475"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0d79030&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0d79030&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1218:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave :data option when not passed as an argument (i.e. nil) emits the previous value for the data attribute when leaving" file="./spec/acceptance/realtime/presence_spec.rb" time="34.681876"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0b7cd90&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0b7cd90&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1201:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave :data option when set to a string emits the new data for the leave event" file="./spec/acceptance/realtime/presence_spec.rb" time="34.945679"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a00638&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a00638&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1171:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave :data option when set to nil emits the last value for the data attribute when leaving" file="./spec/acceptance/realtime/presence_spec.rb" time="34.270423"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0370160&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0370160&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1186:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.244261"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0052550&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0052550&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:309:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method catches exceptions in the provided method block and logs them to the logger" file="./spec/acceptance/realtime/presence_spec.rb" time="35.628383"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f568f18&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f568f18&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:319:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="34.402483"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca13535f0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca13535f0&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:294:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method allows a block to be passed in that is executed upon success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.187081"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1152c60&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1152c60&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:301:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method if connection fails before success calls the Deferrable errback if channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.755530"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0f9e068&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0f9e068&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:332:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with supported data payload content type JSON Object (Hash) is encoded and decoded to the same hash" file="./spec/acceptance/realtime/presence_spec.rb" time="33.897349"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0d90d70&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0d90d70&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:210:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with supported data payload content type String is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.374211"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0bbaac8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0bbaac8&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:230:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with supported data payload content type Binary is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.768722"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a0c348&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a0c348&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:240:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with supported data payload content type JSON Array is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.718699"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca038f330&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca038f330&gt;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:47:in `setup_test&apos;
./spec/acceptance/realtime/presence_spec.rb:220:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with unsupported data payload content type Float raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.594543"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00121f8&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00121f8&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:269:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with unsupported data payload content type Boolean raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="33.984028"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f189028&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f189028&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:278:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with unsupported data payload content type Integer raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="32.971281"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca118b6c8&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca118b6c8&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:260:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with unsupported data payload content type False raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.505274"><failure message="expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0f128d8&gt;&gt; with backtrace:
  # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
  # ./lib/ably/realtime/client.rb:309:in `uri&apos;
  # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
  # ./lib/ably/realtime/client.rb:133:in `new&apos;
  # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (7 levels) in &lt;top (required)&gt;&apos;
  # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
  # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
  # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
  # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
  # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)

  expected Ably::Exceptions::UnsupportedDataType, got #&lt;NameError: undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0f128d8&gt;&gt; with backtrace:
    # ./lib/ably/realtime/client.rb:300:in `hostname&apos;
    # ./lib/ably/realtime/client.rb:309:in `uri&apos;
    # ./lib/ably/realtime/connection.rb:176:in `initialize&apos;
    # ./lib/ably/realtime/client.rb:133:in `new&apos;
    # ./lib/ably/realtime/client.rb:133:in `initialize&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:252:in `presence_action&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (7 levels) in &lt;top (required)&gt;&apos;
    # ./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
    # ./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
    # ./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
    # ./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
    # ./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/realtime/presence_spec.rb:287:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel emits :present for each member" file="./spec/acceptance/realtime/presence_spec.rb" time="33.624871"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c9a3f8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c9a3f8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:789:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel and a member leaves before the SYNC operation is complete ignores presence events with timestamps / identifiers prior to the current :present event in the MembersMap (#RTP2c)" file="./spec/acceptance/realtime/presence_spec.rb" time="33.663981"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0aa6948&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0aa6948&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:892:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel and a member leaves before the SYNC operation is complete emits :leave immediately as the member leaves and cleans up the ABSENT member after (#RTP2f, #RTP2g)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.666023"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca09886b0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca09886b0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:844:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel and a member leaves before the SYNC operation is complete does not emit :present after the :leave event has been emitted, and that member is not included in the list of members via #get (#RTP2f)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.391986"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca014bb78&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca014bb78&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:938:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel and a member enters before the SYNC operation is complete emits a :enter immediately and the member is :present once the sync is complete (#RTP2g)" file="./spec/acceptance/realtime/presence_spec.rb" time="36.063846"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff57178&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff57178&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:805:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel #get with :wait_for_sync option set to false (#RTP11c1) it does not wait for sync" file="./spec/acceptance/realtime/presence_spec.rb" time="34.608478"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f1301d0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f1301d0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:1008:in `block (10 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel #get by default waits until sync is complete (#RTP11c1)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.608002"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca11e6fc8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca11e6fc8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:771:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:991:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol client_id with ASCII_8BIT in channel options is converted into UTF_8" file="./spec/acceptance/realtime/presence_spec.rb" time="35.015252"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1044058&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1044058&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:2019:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:2019:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2022:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol client_id with ASCII_8BIT in connection set up is converted into UTF_8" file="./spec/acceptance/realtime/presence_spec.rb" time="35.470529"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0e69af8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0e69af8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:2006:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:2006:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:23:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2009:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data encrypts presence message data" file="./spec/acceptance/realtime/presence_spec.rb" time="36.132891"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c442a0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c442a0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2038:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2048:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data when cipher settings do not match publisher delivers an unencoded presence message left with encoding value" file="./spec/acceptance/realtime/presence_spec.rb" time="34.487719"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a4cf38&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a4cf38&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2038:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2139:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data when cipher settings do not match publisher emits an error when cipher does not match and presence data cannot be decoded" file="./spec/acceptance/realtime/presence_spec.rb" time="34.447671"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04ca470&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca04ca470&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:15:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:15:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2136:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2152:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data #get returns a list of members with decrypted data" file="./spec/acceptance/realtime/presence_spec.rb" time="34.532888"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00c5028&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca00c5028&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2038:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2109:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data REST #get returns a list of members with decrypted data" file="./spec/acceptance/realtime/presence_spec.rb" time="33.661185"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fed2a68&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9fed2a68&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2038:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2123:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data #subscribe emits decrypted update events" file="./spec/acceptance/realtime/presence_spec.rb" time="34.986749"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e8d0170&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9e8d0170&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2038:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2079:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data #subscribe emits previously set data for leave events" file="./spec/acceptance/realtime/presence_spec.rb" time="34.644096"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca11a10e0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca11a10e0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2038:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2093:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data #subscribe emits decrypted enter events" file="./spec/acceptance/realtime/presence_spec.rb" time="33.747138"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0ff1498&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0ff1498&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `new&apos;
./spec/acceptance/realtime/presence_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2038:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/presence_spec.rb:2067:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #presence returns a REST Presence object" file="./spec/acceptance/rest/channel_spec.rb" time="0.001173"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #status should return channel details status (#RSL8, #RSL8a)" file="./spec/acceptance/rest/channel_spec.rb" time="0.161967"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history returns the current message history for the channel" file="./spec/acceptance/rest/channel_spec.rb" time="0.232701"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history returns paged history using the PaginatedResult model" file="./spec/acceptance/rest/channel_spec.rb" time="0.604354"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history returns a PaginatedResult model" file="./spec/acceptance/rest/channel_spec.rb" time="0.317852"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history message IDs is unique" file="./spec/acceptance/rest/channel_spec.rb" time="0.226991"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history direction returns history forward if specified in the options" file="./spec/acceptance/rest/channel_spec.rb" time="0.339287"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history direction returns paged history backwards by default" file="./spec/acceptance/rest/channel_spec.rb" time="0.317792"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history message timestamps are after the messages were published" file="./spec/acceptance/rest/channel_spec.rb" time="0.286944"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history limit defaults to 100" file="./spec/acceptance/rest/channel_spec.rb" time="0.308439"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history option :start with milliseconds since epoch value uses this value in the history request" file="./spec/acceptance/rest/channel_spec.rb" time="0.005375"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history option :start with a Time object value converts the value to milliseconds since epoch in the hisotry request" file="./spec/acceptance/rest/channel_spec.rb" time="0.004819"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history option when argument start is after end should raise an exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.001142"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history option :end with a Time object value converts the value to milliseconds since epoch in the hisotry request" file="./spec/acceptance/rest/channel_spec.rb" time="0.004455"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history option :end with milliseconds since epoch value uses this value in the history request" file="./spec/acceptance/rest/channel_spec.rb" time="0.004126"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a frozen payload succeeds and publishes with an implicit client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.111488"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with a wildcard client_id with a valid client_id in the message succeeds" file="./spec/acceptance/rest/channel_spec.rb" time="0.151829"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with a wildcard client_id with a wildcard client_id in the message throws an exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.032045"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with a wildcard client_id with an empty client_id in the message succeeds and publishes without a client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.159600"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with TokenDetails with a valid client_id with a valid client_id in the message succeeds" file="./spec/acceptance/rest/channel_spec.rb" time="0.159358"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with TokenDetails with a valid client_id with an invalid client_id in the message throws an exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.030864"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with TokenDetails with a valid client_id with a wildcard client_id in the message throws an exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.033289"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with TokenDetails with a valid client_id with an empty client_id in the message succeeds and publishes with an implicit client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.186043"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when anonymous and no client_id with an empty client_id in the message succeeds and publishes with an implicit client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.145453"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when anonymous and no client_id with a wildcard client_id in the message throws an exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.033176"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when anonymous and no client_id with a client_id in the message throws an exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.032067"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with a Token string with an implicit client_id without having a confirmed identity with an invalid client_id in the message succeeds in the client library but then fails when published to Ably" file="./spec/acceptance/rest/channel_spec.rb" time="0.070322"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with a Token string with an implicit client_id without having a confirmed identity with an empty client_id in the message succeeds and publishes with an implicit client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.155184"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with a Token string with an implicit client_id without having a confirmed identity with a valid client_id in the message succeeds" file="./spec/acceptance/rest/channel_spec.rb" time="0.146941"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish null attributes with neither name or data attributes publishes the message without any attributes in the payload" file="./spec/acceptance/rest/channel_spec.rb" time="0.270164"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish null attributes when data is null publishes the message without a data attribute in the payload" file="./spec/acceptance/rest/channel_spec.rb" time="0.156753"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish null attributes when name is null publishes the message without a name attribute in the payload" file="./spec/acceptance/rest/channel_spec.rb" time="0.143399"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish without adequate permissions on the channel raises a permission error when publishing" file="./spec/acceptance/rest/channel_spec.rb" time="0.058524"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with Messages and query params should fail to publish the message (RSL1l1)" file="./spec/acceptance/rest/channel_spec.rb" time="0.034847"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a Message object publishes the message" file="./spec/acceptance/rest/channel_spec.rb" time="0.117512"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a Message object and query params should fail to publish the message (RSL1l1)" file="./spec/acceptance/rest/channel_spec.rb" time="0.029050"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a non ASCII channel name stubbed correctly encodes the channel name" file="./spec/acceptance/rest/channel_spec.rb" time="0.004848"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with name and data arguments publishes the message and return true indicating success" file="./spec/acceptance/rest/channel_spec.rb" time="0.143078"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with name and data arguments and additional attributes publishes the message with the attributes and return true indicating success" file="./spec/acceptance/rest/channel_spec.rb" time="0.118405"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish message size is exceeded (#TO3l8) should raise Ably::Exceptions::MaxMessageSizeExceeded exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.001636"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with an array of Message objects when max_message_size and max_frame_size is not set and messages size (130 bytes) is smaller than the max_message_size publishes an array of messages in one HTTP request" file="./spec/acceptance/rest/channel_spec.rb" time="0.163814"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with an array of Message objects when max_message_size and max_frame_size is not set and messages size (177784 bytes) is bigger than the max_message_size should not publish and raise Ably::Exceptions::MaxMessageSizeExceeded" file="./spec/acceptance/rest/channel_spec.rb" time="2.686493"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with an array of Message objects when max_message_size is 655 bytes and messages size (130 bytes) is smaller than the max_message_size publishes an array of messages in one HTTP request" file="./spec/acceptance/rest/channel_spec.rb" time="0.163550"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with an array of Message objects when max_message_size is 655 bytes and messages size (177784 bytes) is bigger than the max_message_size should not publish and raise Ably::Exceptions::MaxMessageSizeExceeded" file="./spec/acceptance/rest/channel_spec.rb" time="2.679593"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a frozen message event name succeeds and publishes with an implicit client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.155124"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with an array of Hash objects with :name and :data attributes publishes an array of messages in one HTTP request" file="./spec/acceptance/rest/channel_spec.rb" time="0.171291"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a client_id configured in the ClientOptions publishes the message without a client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.001920"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a client_id configured in the ClientOptions expects a client_id to be added by the realtime service" file="./spec/acceptance/rest/channel_spec.rb" time="0.111656"></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #connection provides access to the Connection object" file="./spec/acceptance/realtime/client_spec.rb" time="35.526002"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1701648&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1701648&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:215:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) get returns an HttpPaginatedResponse object" file="./spec/acceptance/realtime/client_spec.rb" time="34.477257"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca154cd98&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca154cd98&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:241:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) get 404 request to invalid URL returns an object with 404 status code and error message" file="./spec/acceptance/realtime/client_spec.rb" time="34.006610"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca110e718&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca110e718&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:250:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) get paged results provides paging" file="./spec/acceptance/realtime/client_spec.rb" time="34.797648"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0d1f7d8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0d1f7d8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:265:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:264:in `times&apos;
./spec/acceptance/realtime/client_spec.rb:264:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) post supports post" file="./spec/acceptance/realtime/client_spec.rb" time="4.015378"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a0ed78&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0a0ed78&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:237:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:290:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) patch supports patch" file="./spec/acceptance/realtime/client_spec.rb" time="4.014693"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0176b20&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0176b20&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:237:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:320:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) put supports put" file="./spec/acceptance/realtime/client_spec.rb" time="4.014904"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9feddff8&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9feddff8&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:237:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:344:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) delete supports delete" file="./spec/acceptance/realtime/client_spec.rb" time="4.021628"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9da45ab0&gt;" type="NameError">Failure/Error: &quot;#{endpoint}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9da45ab0&gt;
./lib/ably/realtime/client.rb:302:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:237:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:304:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization realtime connection settings defaults suspended_retry_timeout is 30s" file="./spec/acceptance/realtime/client_spec.rb" time="34.603701"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1979c68&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1979c68&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:192:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization realtime connection settings defaults disconnected_retry_timeout is 15s" file="./spec/acceptance/realtime/client_spec.rb" time="35.394322"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca182ebd8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca182ebd8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:187:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization realtime connection settings overriden in ClientOptions disconnected_retry_timeout is updated" file="./spec/acceptance/realtime/client_spec.rb" time="33.801755"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca16dbb28&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca16dbb28&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:201:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization realtime connection settings overriden in ClientOptions suspended_retry_timeout is updated" file="./spec/acceptance/realtime/client_spec.rb" time="34.318699"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca146c9a0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca146c9a0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:206:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization basic auth is enabled by default with a provided :key option" file="./spec/acceptance/realtime/client_spec.rb" time="34.658055"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1096920&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1096920&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:20:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization basic auth :tls option set to false to force a plain-text connection fails to connect because a private key cannot be sent over a non-secure connection" file="./spec/acceptance/realtime/client_spec.rb" time="35.542240"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c8f340&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c8f340&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:49:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization basic auth with an invalid API key logs an entry with a help href url matching the code #TI5" file="./spec/acceptance/realtime/client_spec.rb" time="34.691574"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca075cd50&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca075cd50&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:30:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:30:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:33:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with a Proc for the :auth_callback option uses the token request returned from the callback when requesting a new token" file="./spec/acceptance/realtime/client_spec.rb" time="34.840354"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff59540&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff59540&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:98:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:98:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:112:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with a Proc for the :auth_callback option calls the Proc" file="./spec/acceptance/realtime/client_spec.rb" time="33.887948"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1a50d08&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1a50d08&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:98:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:98:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:105:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with a Proc for the :auth_callback option when the returned token has a client_id sets Auth#client_id to the new token&apos;s client_id immediately when connecting" file="./spec/acceptance/realtime/client_spec.rb" time="33.596857"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1906010&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1906010&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:98:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:98:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:120:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with a Proc for the :auth_callback option when the returned token has a client_id sets Client#client_id to the new token&apos;s client_id immediately when connecting" file="./spec/acceptance/realtime/client_spec.rb" time="34.944321"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca17aed48&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca17aed48&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:98:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:98:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:128:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with a Proc for the :auth_callback option with a wildcard client_id token  and an explicit client_id in ClientOptions allows uses the explicit client_id in the connection" file="./spec/acceptance/realtime/client_spec.rb" time="33.965988"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca15b0a78&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca15b0a78&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:137:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:137:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:146:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with a Proc for the :auth_callback option with a wildcard client_id token  and client_id omitted in ClientOptions uses the token provided clientId in the connection" file="./spec/acceptance/realtime/client_spec.rb" time="35.929387"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca12afc48&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca12afc48&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:137:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:137:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:162:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with TLS enabled with valid :key and :use_token_auth option set to true automatically authorizes on connect and generates a token" file="./spec/acceptance/realtime/client_spec.rb" time="34.574897"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0ed8bd8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0ed8bd8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:83:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with TLS enabled and a pre-generated Token provided with the :token option connects using token auth" file="./spec/acceptance/realtime/client_spec.rb" time="34.331719"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0ad19e0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0ad19e0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:64:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:64:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:65:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:66:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:70:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with TLS disabled and a pre-generated Token provided with the :token option connects using token auth" file="./spec/acceptance/realtime/client_spec.rb" time="35.283886"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0169d08&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0169d08&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:64:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:64:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:65:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:66:in `block (7 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:70:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with TLS disabled with valid :key and :use_token_auth option set to true automatically authorizes on connect and generates a token" file="./spec/acceptance/realtime/client_spec.rb" time="34.090613"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f2c2ae8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9f2c2ae8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:11:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:83:in `block (8 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with an invalid wildcard &quot;*&quot; :client_id raises an exception" file="./spec/acceptance/realtime/client_spec.rb" time="0.001807"></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #channels provides access to the Channels collection object" file="./spec/acceptance/realtime/client_spec.rb" time="35.184791"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1991e80&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1991e80&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:222:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #auth provides access to the Realtime::Auth object" file="./spec/acceptance/realtime/client_spec.rb" time="34.932155"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca183fbe0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca183fbe0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:229:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) publishing does not result in a channel being created" file="./spec/acceptance/realtime/client_spec.rb" time="33.855339"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca16e6b68&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca16e6b68&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:380:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) publishing on a closed connection fails" file="./spec/acceptance/realtime/client_spec.rb" time="33.853878"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1471dd8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1471dd8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:432:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) publishing supports an array of Message objects" file="./spec/acceptance/realtime/client_spec.rb" time="34.812186"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca10971b8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca10971b8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:15:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:15:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:361:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:408:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) publishing supports an array of Hash objects" file="./spec/acceptance/realtime/client_spec.rb" time="34.039022"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c8b9e8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca0c8b9e8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:15:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:15:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:361:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:420:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) publishing a message implicity connects and publishes the message successfully on the provided channel" file="./spec/acceptance/realtime/client_spec.rb" time="33.853041"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca07dd0b8&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca07dd0b8&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:15:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:15:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:361:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:368:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) with extras publishing supports extras" file="./spec/acceptance/realtime/client_spec.rb" time="34.895472"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff3b360&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556c9ff3b360&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:15:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:15:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:361:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:396:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) with more than allowed messages in a single publish rejects the publish" file="./spec/acceptance/realtime/client_spec.rb" time="33.712775"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1a2c3e0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca1a2c3e0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:14:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:486:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) queue_messages ClientOption when false will reject messages on an initializing connection" file="./spec/acceptance/realtime/client_spec.rb" time="33.936746"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca18d7ad0&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca18d7ad0&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:15:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:15:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:361:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:465:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) queue_messages ClientOption when true will queue messages whilst connecting and publish once connected" file="./spec/acceptance/realtime/client_spec.rb" time="34.669924"><failure message="undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca177c118&gt;" type="NameError">Failure/Error: &quot;#{endpoint.gsub(&apos;nonprod:&apos;, &apos;&apos;)}.realtime.#{root_domain}&quot;

NameError:
  undefined local variable or method `root_domain&apos; for #&lt;Ably::Realtime::Client:0x0000556ca177c118&gt;
./lib/ably/realtime/client.rb:300:in `hostname&apos;
./lib/ably/realtime/client.rb:309:in `uri&apos;
./lib/ably/realtime/connection.rb:176:in `initialize&apos;
./lib/ably/realtime/client.rb:133:in `new&apos;
./lib/ably/realtime/client.rb:133:in `initialize&apos;
./spec/acceptance/realtime/client_spec.rb:15:in `new&apos;
./spec/acceptance/realtime/client_spec.rb:15:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:361:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/acceptance/realtime/client_spec.rb:448:in `block (6 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:171:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:129:in `instance_exec&apos;
./spec/support/event_machine_helper.rb:129:in `block (4 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:16:in `block (2 levels) in run_reactor&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/2.7.0/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
</testsuite>
