class Rack::ServiceApiVersioning::BuildRedirectUriFromEnv
Build redirect URI from data in `env`
Attributes
env[R]
Public Class Methods
call(env)
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_uri_from_env.rb, line 15 def self.call(env) new(env).call end
new(env)
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_uri_from_env.rb, line 25 def initialize(env) @env = env self end
Public Instance Methods
call()
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_uri_from_env.rb, line 19 def call location_uri_from(request_uri).to_s end
Private Instance Methods
api_version_base_uri()
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_uri_from_env.rb, line 34 def api_version_base_uri Addressable::URI.parse(api_version_data[:base_url]) end
api_version_data()
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_uri_from_env.rb, line 38 def api_version_data JSON.parse(env['COMPONENT_API_VERSION_DATA'], symbolize_names: true) end
location_uri_from(request_uri)
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_uri_from_env.rb, line 42 def location_uri_from(request_uri) params = { api_version_base_uri: api_version_base_uri, request_uri: request_uri } BuildRedirectLocationUri.call params end
request_uri()
click to toggle source
# File lib/rack/service_api_versioning/build_redirect_uri_from_env.rb, line 48 def request_uri request_str = Rack::Request.new(env).url Addressable::URI.parse(request_str) end