class QueueIt::UrlBuilder

Public Class Methods

build_cancel_url(customer_id, event_id, queue_id = nil) click to toggle source
# File lib/queue_it/url_builder.rb, line 9
def self.build_cancel_url(customer_id, event_id, queue_id = nil)
  "https://#{customer_id}.queue-it.net/cancel.aspx?c=#{customer_id}&e=#{event_id}&q=#{queue_id}"
end
build_queue_url(customer_id, event_id, redirect_url) click to toggle source
# File lib/queue_it/url_builder.rb, line 5
def self.build_queue_url(customer_id, event_id, redirect_url)
  "https://#{customer_id}.queue-it.net/?c=#{customer_id}&e=#{event_id}&t=#{CGI.escape(redirect_url)}"
end
clean_url(request_url) click to toggle source

Removes all queue_it params from URL eg.: billetto.com/events/distortion/tickets?q=3d2d5097-c7e1-40e3-8d55-4bb721819324&p=56d0f360-4201-4e47-90d9-333872063976&ts=1393411468&c=billettodk&e=rainmaking&rt=Queue&h=0931dc67562c9a25c7a37bad33a6b46a to: billetto.com/events/distortion/tickets

# File lib/queue_it/url_builder.rb, line 18
def self.clean_url(request_url)
  uri = Addressable::URI.parse(request_url)

  params = uri.query_values
  queue_it_params.each do |param|
    params.delete(param)
  end

  uri.query_values = params
  uri.to_s
end
contains_queue_params?(request_url) click to toggle source
# File lib/queue_it/url_builder.rb, line 30
def self.contains_queue_params?(request_url)
  uri = Addressable::URI.parse(request_url)
  request_params = uri.query_values

  # Check if request_params contains any queue_it_params
  !(queue_it_params & request_params.keys).empty?
end

Private Class Methods

queue_it_params() click to toggle source
# File lib/queue_it/url_builder.rb, line 39
def self.queue_it_params
  ['q', 'p', 'h', 'ts', 'e', 'rt', 'c']
end