Kaynağa Gözat

reduced logic duplication and added constants to store header values

Toney Mathews 5 yıl önce
ebeveyn
işleme
ed574e3513
1 değiştirilmiş dosya ile 6 ekleme ve 13 silme
  1. 6 13
      lib/active_resource/detailed_log_subscriber.rb

+ 6 - 13
lib/active_resource/detailed_log_subscriber.rb

@@ -1,9 +1,10 @@
 module ActiveResource
   class DetailedLogSubscriber < ActiveSupport::LogSubscriber
+    VERSION_EOL_WARNING_HEADER = 'x-shopify-api-version-warning'
+    VERSION_DEPRECATION_HEADER = 'x-shopify-api-deprecated-reason'
     def request(event)
       log_request_response_details(event)
-      warn_on_deprecated_header(event)
-      warn_on_version_eol_warning_header(event)
+      warn_on_deprecated_header_or_version_eol_header(event)
     end
 
     def logger
@@ -22,28 +23,20 @@ module ActiveResource
       info "Response:\n#{event.payload[:response].body}"
     end
 
-    def warn_on_deprecated_header(event)
+    def warn_on_deprecated_header_or_version_eol_header(event)
       payload = event.payload
 
       payload[:response].each do |header_name, header_value|
         case header_name.downcase
-        when 'x-shopify-api-deprecated-reason'
+        when VERSION_DEPRECATION_HEADER
           warning_message = <<-MSG
           [DEPRECATED] ShopifyAPI made a call to #{payload[:method].upcase} #{payload[:path]}, and this call made
           use of a deprecated endpoint, behaviour, or parameter. See #{header_value} for more details.
           MSG
 
           warn warning_message
-        end
-      end
-    end
 
-    def warn_on_version_eol_warning_header(event)
-      payload = event.payload
-
-      payload[:response].each do |header_name, header_value|
-        case header_name.downcase
-        when 'x-shopify-api-version-warning'
+        when VERSION_EOL_WARNING_HEADER
           warning_message = <<-MSG
           [Version EOL Warning] ShopifyAPI made a call to #{payload[:method].upcase} #{payload[:path]}, and this call made
           use of an API version that is expired or will expire within 30 days. See #{header_value} for more details.