class Rack::Joint::UrlBuilder
Attributes
host[R]
path[R]
query[R]
scheme[R]
Public Class Methods
new(scheme, request_query, host, path)
click to toggle source
# File lib/rack/joint/url_builder.rb, line 8 def initialize(scheme, request_query, host, path) @scheme = scheme @query = request_query @host = host @path = path end
Public Instance Methods
build()
click to toggle source
@return [URI] URL with SSL or non-SSL
# File lib/rack/joint/url_builder.rb, line 16 def build if scheme == 'https' https_url_builder else http_url_builder end end
Private Instance Methods
http_url_builder()
click to toggle source
@return [URI]
# File lib/rack/joint/url_builder.rb, line 38 def http_url_builder # When query parameters isn't added to request URL, # returns empty String object with `Rack::Request::Helper#query_string`. if query.empty? URI::HTTP.build({ host: host, path: path }).to_s else URI::HTTP.build({ host: host, path: path, query: query }).to_s end end
https_url_builder()
click to toggle source
@return [URI]
# File lib/rack/joint/url_builder.rb, line 27 def https_url_builder # When query parameters isn't added to request URL, # returns empty String object with `Rack::Request::Helper#query_string`. if query.empty? URI::HTTPS.build({ host: host, path: path }).to_s else URI::HTTPS.build({ host: host, path: path, query: query }).to_s end end