class Userstack::UriBuilder
A class which builds URI of Userstack
api
Constants
- USERSTACK_API_DOMAIN
Attributes
access_key[R]
legacy[R]
use_ssl[R]
useragent[R]
Public Class Methods
execute(access_key, useragent, use_ssl, legacy)
click to toggle source
@param access_key
[String] Userstack
Access key @param useragent [String] useragent @param use_ssl
[Boolean] Use ssl or not @param legacy [Boolean] Legacy response @return [URI::HTTP, URI::HTTPS]
# File lib/userstack/uri_builder.rb, line 18 def self.execute(access_key, useragent, use_ssl, legacy) new(access_key, useragent, use_ssl, legacy).send(:execute) end
new(access_key, useragent, use_ssl, legacy)
click to toggle source
# File lib/userstack/uri_builder.rb, line 26 def initialize(access_key, useragent, use_ssl, legacy) @access_key = access_key.freeze @useragent = useragent.freeze @use_ssl = use_ssl @legacy = legacy freeze end
Private Instance Methods
execute()
click to toggle source
# File lib/userstack/uri_builder.rb, line 34 def execute fqdn = URI("#{scheme}://#{USERSTACK_API_DOMAIN}/") fqdn.tap do |uri| uri.path = '/detect' uri.query = query end end
query()
click to toggle source
# File lib/userstack/uri_builder.rb, line 42 def query q = { access_key: access_key, ua: CGI.escape(useragent) } q[:legacy] = 1 if legacy q.map { |k, v| "#{k}=#{v}" }.join('&') end
scheme()
click to toggle source
# File lib/userstack/uri_builder.rb, line 51 def scheme use_ssl ? 'https' : 'http' end