@@ -22,6 +22,7 @@ class Context
2222 @user_agent_prefix = T . let ( nil , T . nilable ( String ) )
2323 @old_api_secret_key = T . let ( nil , T . nilable ( String ) )
2424 @response_as_struct = T . let ( false , T . nilable ( T ::Boolean ) )
25+ @rest_disabled = T . let ( false , T . nilable ( T ::Boolean ) )
2526
2627 @rest_resource_loader = T . let ( nil , T . nilable ( Zeitwerk ::Loader ) )
2728
@@ -45,6 +46,7 @@ class << self
4546 old_api_secret_key : T . nilable ( String ) ,
4647 api_host : T . nilable ( String ) ,
4748 response_as_struct : T . nilable ( T ::Boolean ) ,
49+ rest_disabled : T . nilable ( T ::Boolean ) ,
4850 ) . void
4951 end
5052 def setup (
@@ -62,7 +64,8 @@ def setup(
6264 user_agent_prefix : nil ,
6365 old_api_secret_key : nil ,
6466 api_host : nil ,
65- response_as_struct : false
67+ response_as_struct : false ,
68+ rest_disabled : false
6669 )
6770 unless ShopifyAPI ::AdminVersions ::SUPPORTED_ADMIN_VERSIONS . include? ( api_version )
6871 raise Errors ::UnsupportedVersionError ,
@@ -82,6 +85,7 @@ def setup(
8285 @user_agent_prefix = user_agent_prefix
8386 @old_api_secret_key = old_api_secret_key
8487 @response_as_struct = response_as_struct
88+ @rest_disabled = rest_disabled
8589 @log_level = if valid_log_level? ( log_level )
8690 log_level . to_sym
8791 else
@@ -93,6 +97,9 @@ def setup(
9397
9498 sig { params ( api_version : String ) . void }
9599 def load_rest_resources ( api_version :)
100+ # Skip loading REST resources if REST is disabled
101+ return if rest_disabled
102+
96103 # Unload any previous instances - mostly useful for tests where we need to reset the version
97104 @rest_resource_loader &.setup
98105 @rest_resource_loader &.unload
@@ -178,6 +185,11 @@ def host_name
178185 T . must ( URI ( T . must ( host ) ) . host )
179186 end
180187
188+ sig { returns ( T ::Boolean ) }
189+ def rest_disabled
190+ T . must ( @rest_disabled )
191+ end
192+
181193 private
182194
183195 sig { params ( log_level : T . any ( Symbol , String ) ) . returns ( T ::Boolean ) }
0 commit comments