class Rack::ServiceApiVersioning::BuildRedirectLocationUri
Build redirect URI from original request URI and API Version SBU.
Attributes
new_base_uri_parts[R]
request_uri[R]
Public Class Methods
call(api_version_base_uri:, request_uri:)
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_location_uri.rb, line 12 def self.call(api_version_base_uri:, request_uri:) new(api_version_base_uri, request_uri).call end
new(api_version_base_uri, request_uri)
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_location_uri.rb, line 24 def initialize(api_version_base_uri, request_uri) @new_base_uri_parts = api_version_base_uri.to_hash @request_uri = request_uri self end
Public Instance Methods
call()
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_location_uri.rb, line 16 def call update_path update_query uri_for_redirect end
Private Instance Methods
combined_path_str()
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_location_uri.rb, line 34 def combined_path_str new_base_uri_parts[:path] + request_uri.path end
path_str()
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_location_uri.rb, line 38 def path_str combined_path_str.sub('//', '/') end
update_path()
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_location_uri.rb, line 42 def update_path new_base_uri_parts[:path] = path_str end
update_query()
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_location_uri.rb, line 46 def update_query new_base_uri_parts[:query] = request_uri.query end
uri_for_redirect()
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_location_uri.rb, line 50 def uri_for_redirect Addressable::URI.new(new_base_uri_parts) end