Pārlūkot izejas kodu

Move api_prefix to ApiVersion.

Alex Aitken 6 gadi atpakaļ
vecāks
revīzija
dc1440521f

+ 1 - 0
lib/shopify_api.rb

@@ -6,6 +6,7 @@ require 'digest/md5'
 require 'base64'
 require 'active_resource/detailed_log_subscriber'
 require 'shopify_api/limits'
+require 'shopify_api/api_version'
 require 'shopify_api/json_format'
 require 'active_resource/json_errors'
 require 'shopify_api/disable_prefix_check'

+ 25 - 0
lib/shopify_api/api_version.rb

@@ -0,0 +1,25 @@
+module ShopifyAPI
+  class ApiVersion
+    API_PREFIX = '/admin/'.freeze
+
+    def self.no_version
+      new
+    end
+
+    def initialize
+      @version_name = "no version"
+    end
+
+    def to_s
+      @version_name
+    end
+
+    def inspect
+      @version_name
+    end
+
+    def construct_api_path(path)
+      "#{API_PREFIX}#{path}"
+    end
+  end
+end

+ 1 - 1
lib/shopify_api/resources/asset.rb

@@ -54,7 +54,7 @@ module ShopifyAPI
         path_prefix = params[:theme_id] ? "themes/#{params[:theme_id]}/" : ""
         resource = find(
           :one,
-          from: "#{api_prefix}#{path_prefix}assets.#{format.extension}",
+          from: api_version.construct_api_path("#{path_prefix}assets.#{format.extension}"),
           params: params
         )
         resource.prefix_options[:theme_id] = params[:theme_id] if resource && params[:theme_id]

+ 3 - 5
lib/shopify_api/resources/base.rb

@@ -11,8 +11,6 @@ module ShopifyAPI
                                   "ActiveResource/#{ActiveResource::VERSION::STRING}",
                                   "Ruby/#{RUBY_VERSION}"].join(' ')
 
-    API_PREFIX = '/admin/'.freeze
-
     def encode(options = {})
       same = dup
       same.attributes = {self.class.element_name => same.attributes} if self.class.format.extension == 'json'
@@ -66,12 +64,12 @@ module ShopifyAPI
         self.headers.delete('X-Shopify-Access-Token')
       end
 
-      def api_prefix
-        API_PREFIX
+      def api_version
+        @api_version ||= ApiVersion.no_version
       end
 
       def prefix(options = {})
-        "#{api_prefix}#{resource_prefix(options)}"
+        api_version.construct_api_path(resource_prefix(options))
       end
 
       def prefix_source

+ 3 - 1
lib/shopify_api/resources/shop.rb

@@ -10,7 +10,9 @@ module ShopifyAPI
       end
     else
       def self.current(options = {})
-        find(:one, options.merge(from: "#{api_prefix}shop.#{format.extension}"))
+        find(:one, options.merge(
+          from: api_version.construct_api_path("shop.#{format.extension}")
+        ))
       end
     end