queueit_knownuserv3 3.5.1 → 3.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,113 +1,139 @@
1
- require 'cgi'
2
-
3
- module QueueIt
4
- class Utils
5
- def self.isNilOrEmpty(value)
6
- return !value || value.to_s == ''
7
- end
8
- def self.toString(value)
9
- if(value == nil)
10
- return ''
11
- end
12
- return value.to_s
13
- end
14
- end
15
-
16
- class CancelEventConfig
17
- attr_accessor :eventId
18
- attr_accessor :queueDomain
19
- attr_accessor :cookieDomain
20
- attr_accessor :version
21
-
22
- def initialize
23
- @eventId = nil
24
- @queueDomain = nil
25
- @cookieDomain = nil
26
- @version = nil
27
- end
28
-
29
- def toString
30
- return "EventId:" + Utils.toString(eventId) +
31
- "&Version:" + Utils.toString(version) +
32
- "&QueueDomain:" + Utils.toString(queueDomain) +
33
- "&CookieDomain:" + Utils.toString(cookieDomain)
34
- end
35
- end
36
-
37
- class QueueEventConfig
38
- attr_accessor :eventId
39
- attr_accessor :layoutName
40
- attr_accessor :culture
41
- attr_accessor :queueDomain
42
- attr_accessor :extendCookieValidity
43
- attr_accessor :cookieValidityMinute
44
- attr_accessor :cookieDomain
45
- attr_accessor :version
46
-
47
- def initialize
48
- @eventId = nil
49
- @layoutName = nil
50
- @culture = nil
51
- @queueDomain = nil
52
- @extendCookieValidity = nil
53
- @cookieValidityMinute = nil
54
- @cookieDomain = nil
55
- @version = nil
56
- end
57
-
58
- def toString
59
- return "EventId:" + Utils.toString(eventId) +
60
- "&Version:" + Utils.toString(version) +
61
- "&QueueDomain:" + Utils.toString(queueDomain) +
62
- "&CookieDomain:" + Utils.toString(cookieDomain) +
63
- "&ExtendCookieValidity:" + Utils.toString(extendCookieValidity) +
64
- "&CookieValidityMinute:" + Utils.toString(cookieValidityMinute) +
65
- "&LayoutName:" + Utils.toString(layoutName) +
66
- "&Culture:" + Utils.toString(culture)
67
- end
68
- end
69
-
70
- class RequestValidationResult
71
- attr_reader :actionType
72
- attr_reader :eventId
73
- attr_reader :queueId
74
- attr_reader :redirectUrl
75
- attr_reader :redirectType
76
- attr_accessor :isAjaxResult
77
-
78
- def initialize(actionType, eventId, queueId, redirectUrl, redirectType)
79
- @actionType = actionType
80
- @eventId = eventId
81
- @queueId = queueId
82
- @redirectUrl = redirectUrl
83
- @redirectType = redirectType
84
- end
85
-
86
- def doRedirect
87
- return !Utils.isNilOrEmpty(@redirectUrl)
88
- end
89
-
90
- def getAjaxQueueRedirectHeaderKey
91
- return "x-queueit-redirect"
92
- end
93
-
94
- def getAjaxRedirectUrl
95
- if !Utils.isNilOrEmpty(@redirectUrl)
96
- return CGI.escape(@redirectUrl)
97
- end
98
- return ""
99
- end
100
- end
101
-
102
- class KnownUserError < StandardError
103
- def initialize(message)
104
- super(message)
105
- end
106
- end
107
-
108
- class ActionTypes
109
- CANCEL = "Cancel"
110
- QUEUE = "Queue"
111
- IGNORE = "Ignore"
112
- end
1
+ require 'cgi'
2
+
3
+ module QueueIt
4
+ class Utils
5
+ def self.isNilOrEmpty(value)
6
+ return !value || value.to_s == ''
7
+ end
8
+ def self.toString(value)
9
+ if(value == nil)
10
+ return ''
11
+ end
12
+ return value.to_s
13
+ end
14
+ def self.urlEncode(value)
15
+ return CGI.escape(value).gsub("+", "%20").gsub("%7E", "~")
16
+ end
17
+ def self.urlDecode(value)
18
+ return CGI.unescape(value)
19
+ end
20
+ end
21
+
22
+ class QueueEventConfig
23
+ attr_accessor :eventId
24
+ attr_accessor :layoutName
25
+ attr_accessor :culture
26
+ attr_accessor :queueDomain
27
+ attr_accessor :extendCookieValidity
28
+ attr_accessor :cookieValidityMinute
29
+ attr_accessor :cookieDomain
30
+ attr_accessor :isCookieHttpOnly
31
+ attr_accessor :isCookieSecure
32
+ attr_accessor :version
33
+ attr_accessor :actionName
34
+
35
+ def initialize
36
+ @eventId = nil
37
+ @layoutName = nil
38
+ @culture = nil
39
+ @queueDomain = nil
40
+ @extendCookieValidity = nil
41
+ @cookieValidityMinute = nil
42
+ @cookieDomain = nil
43
+ @isCookieHttpOnly = false
44
+ @isCookieSecure = false
45
+ @version = nil
46
+ @actionName = "unspecified"
47
+ end
48
+
49
+ def toString
50
+ return "EventId:" + Utils.toString(eventId) +
51
+ "&Version:" + Utils.toString(version) +
52
+ "&QueueDomain:" + Utils.toString(queueDomain) +
53
+ "&CookieDomain:" + Utils.toString(cookieDomain) +
54
+ "&IsCookieHttpOnly:" + Utils.toString(isCookieHttpOnly) +
55
+ "&IsCookieSecure:" + Utils.toString(isCookieSecure) +
56
+ "&ExtendCookieValidity:" + Utils.toString(extendCookieValidity) +
57
+ "&CookieValidityMinute:" + Utils.toString(cookieValidityMinute) +
58
+ "&LayoutName:" + Utils.toString(layoutName) +
59
+ "&Culture:" + Utils.toString(culture) +
60
+ "&ActionName:" + Utils.toString(actionName)
61
+ end
62
+ end
63
+
64
+ class CancelEventConfig
65
+ attr_accessor :eventId
66
+ attr_accessor :queueDomain
67
+ attr_accessor :cookieDomain
68
+ attr_accessor :isCookieHttpOnly
69
+ attr_accessor :isCookieSecure
70
+ attr_accessor :version
71
+ attr_accessor :actionName
72
+
73
+ def initialize
74
+ @eventId = nil
75
+ @queueDomain = nil
76
+ @cookieDomain = nil
77
+ @isCookieHttpOnly = false
78
+ @isCookieSecure = false
79
+ @version = nil
80
+ @actionName = "unspecified"
81
+ end
82
+
83
+ def toString
84
+ return "EventId:" + Utils.toString(eventId) +
85
+ "&Version:" + Utils.toString(version) +
86
+ "&QueueDomain:" + Utils.toString(queueDomain) +
87
+ "&CookieDomain:" + Utils.toString(cookieDomain) +
88
+ "&IsCookieHttpOnly:" + Utils.toString(isCookieHttpOnly) +
89
+ "&IsCookieSecure:" + Utils.toString(isCookieSecure) +
90
+ "&ActionName:" + Utils.toString(actionName)
91
+ end
92
+ end
93
+
94
+ class RequestValidationResult
95
+ attr_reader :actionType
96
+ attr_reader :eventId
97
+ attr_reader :queueId
98
+ attr_reader :redirectUrl
99
+ attr_reader :redirectType
100
+ attr_accessor :actionName
101
+ attr_accessor :isAjaxResult
102
+
103
+ def initialize(actionType, eventId, queueId, redirectUrl, redirectType, actionName)
104
+ @actionType = actionType
105
+ @eventId = eventId
106
+ @queueId = queueId
107
+ @redirectUrl = redirectUrl
108
+ @redirectType = redirectType
109
+ @actionName = actionName
110
+ end
111
+
112
+ def doRedirect
113
+ return !Utils.isNilOrEmpty(@redirectUrl)
114
+ end
115
+
116
+ def getAjaxQueueRedirectHeaderKey
117
+ return "x-queueit-redirect"
118
+ end
119
+
120
+ def getAjaxRedirectUrl
121
+ if !Utils.isNilOrEmpty(@redirectUrl)
122
+ return Utils.urlEncode(@redirectUrl)
123
+ end
124
+ return ""
125
+ end
126
+ end
127
+
128
+ class KnownUserError < StandardError
129
+ def initialize(message)
130
+ super(message)
131
+ end
132
+ end
133
+
134
+ class ActionTypes
135
+ CANCEL = "Cancel"
136
+ QUEUE = "Queue"
137
+ IGNORE = "Ignore"
138
+ end
113
139
  end
@@ -1,81 +1,81 @@
1
- module QueueIt
2
- class QueueUrlParams
3
- KEY_VALUE_SEPARATOR_GROUP_CHAR = '~';
4
- KEY_VALUE_SEPARATOR_CHAR = '_';
5
- TIMESTAMP_KEY = "ts"
6
- COOKIE_VALIDITY_MINUTES_KEY = "cv";
7
- EVENT_ID_KEY = "e";
8
- EXTENDABLE_COOKIE_KEY = "ce";
9
- HASH_KEY = "h";
10
- QUEUE_ID_KEY = "q";
11
- REDIRECT_TYPE_KEY = "rt"
12
-
13
- attr_accessor :timeStamp
14
- attr_accessor :eventId
15
- attr_accessor :hashCode
16
- attr_accessor :extendableCookie
17
- attr_accessor :cookieValidityMinutes
18
- attr_accessor :queueITToken
19
- attr_accessor :queueITTokenWithoutHash
20
- attr_accessor :queueId
21
- attr_accessor :redirectType
22
-
23
- def initialize
24
- @timeStamp = 0
25
- @eventId = ""
26
- @hashCode = ""
27
- @extendableCookie = false
28
- @cookieValidityMinutes = nil
29
- @queueITToken = ""
30
- @queueITTokenWithoutHash = ""
31
- @queueId = ""
32
- @redirectType = nil
33
- end
34
-
35
- def self.extractQueueParams(queueitToken)
36
- begin
37
- if(Utils.isNilOrEmpty(queueitToken))
38
- return nil
39
- end
40
- result = QueueUrlParams.new
41
- result.queueITToken = queueitToken
42
- paramsNameValueList = result.queueITToken.split(KEY_VALUE_SEPARATOR_GROUP_CHAR)
43
-
44
- paramsNameValueList.each do |pNameValue|
45
- paramNameValueArr = pNameValue.split(KEY_VALUE_SEPARATOR_CHAR)
46
-
47
- case paramNameValueArr[0]
48
- when TIMESTAMP_KEY
49
- begin
50
- result.timeStamp = Integer(paramNameValueArr[1])
51
- rescue
52
- result.timeStamp = 0
53
- end
54
- when COOKIE_VALIDITY_MINUTES_KEY
55
- begin
56
- result.cookieValidityMinutes = Integer(paramNameValueArr[1])
57
- rescue
58
- result.cookieValidityMinutes = nil
59
- end
60
- when EVENT_ID_KEY
61
- result.eventId = paramNameValueArr[1]
62
- when EXTENDABLE_COOKIE_KEY
63
- if paramNameValueArr[1].upcase.eql? 'TRUE'
64
- result.extendableCookie = true
65
- end
66
- when HASH_KEY
67
- result.hashCode = paramNameValueArr[1]
68
- when QUEUE_ID_KEY
69
- result.queueId = paramNameValueArr[1]
70
- when REDIRECT_TYPE_KEY
71
- result.redirectType = paramNameValueArr[1]
72
- end
73
- end
74
- result.queueITTokenWithoutHash = result.queueITToken.gsub((KEY_VALUE_SEPARATOR_GROUP_CHAR + HASH_KEY + KEY_VALUE_SEPARATOR_CHAR + result.hashCode), "")
75
- return result
76
- rescue
77
- return nil
78
- end
79
- end
80
- end
1
+ module QueueIt
2
+ class QueueUrlParams
3
+ KEY_VALUE_SEPARATOR_GROUP_CHAR = '~'
4
+ KEY_VALUE_SEPARATOR_CHAR = '_'
5
+ TIMESTAMP_KEY = "ts"
6
+ COOKIE_VALIDITY_MINUTES_KEY = "cv"
7
+ EVENT_ID_KEY = "e"
8
+ EXTENDABLE_COOKIE_KEY = "ce"
9
+ HASH_KEY = "h"
10
+ QUEUE_ID_KEY = "q"
11
+ REDIRECT_TYPE_KEY = "rt"
12
+
13
+ attr_accessor :timeStamp
14
+ attr_accessor :eventId
15
+ attr_accessor :hashCode
16
+ attr_accessor :extendableCookie
17
+ attr_accessor :cookieValidityMinutes
18
+ attr_accessor :queueITToken
19
+ attr_accessor :queueITTokenWithoutHash
20
+ attr_accessor :queueId
21
+ attr_accessor :redirectType
22
+
23
+ def initialize
24
+ @timeStamp = 0
25
+ @eventId = ""
26
+ @hashCode = ""
27
+ @extendableCookie = false
28
+ @cookieValidityMinutes = nil
29
+ @queueITToken = ""
30
+ @queueITTokenWithoutHash = ""
31
+ @queueId = ""
32
+ @redirectType = nil
33
+ end
34
+
35
+ def self.extractQueueParams(queueitToken)
36
+ if(Utils.isNilOrEmpty(queueitToken))
37
+ return nil
38
+ end
39
+ result = QueueUrlParams.new
40
+ result.queueITToken = queueitToken
41
+ paramsNameValueList = result.queueITToken.split(KEY_VALUE_SEPARATOR_GROUP_CHAR)
42
+
43
+ paramsNameValueList.each do |pNameValue|
44
+ paramNameValueArr = pNameValue.split(KEY_VALUE_SEPARATOR_CHAR)
45
+
46
+ if(!paramNameValueArr.length().eql? 2)
47
+ next
48
+ end
49
+
50
+ case paramNameValueArr[0]
51
+ when HASH_KEY
52
+ result.hashCode = paramNameValueArr[1]
53
+ when TIMESTAMP_KEY
54
+ if paramNameValueArr[1] !~ /\D/
55
+ result.timeStamp = paramNameValueArr[1].to_i
56
+ else
57
+ result.timeStamp = 0
58
+ end
59
+ when COOKIE_VALIDITY_MINUTES_KEY
60
+ if paramNameValueArr[1] !~ /\D/
61
+ result.cookieValidityMinutes = paramNameValueArr[1].to_i
62
+ else
63
+ result.cookieValidityMinutes = nil
64
+ end
65
+ when EVENT_ID_KEY
66
+ result.eventId = paramNameValueArr[1]
67
+ when EXTENDABLE_COOKIE_KEY
68
+ if paramNameValueArr[1].upcase.eql? 'TRUE'
69
+ result.extendableCookie = true
70
+ end
71
+ when QUEUE_ID_KEY
72
+ result.queueId = paramNameValueArr[1]
73
+ when REDIRECT_TYPE_KEY
74
+ result.redirectType = paramNameValueArr[1]
75
+ end
76
+ end
77
+ result.queueITTokenWithoutHash = result.queueITToken.gsub((KEY_VALUE_SEPARATOR_GROUP_CHAR + HASH_KEY + KEY_VALUE_SEPARATOR_CHAR + result.hashCode), "")
78
+ return result
79
+ end
80
+ end
81
81
  end