rt-client 0.7.2 → 0.7.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/rt_client.rb +44 -8
- data/rtxmlsrv.rb +30 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1f1ed8631dd3ae08e71910888b555c9eac6e376
|
4
|
+
data.tar.gz: 5a133e46eccc857735dc20a53dc7878294905525
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da18cc6fb24203209923458ddc0030652c21a3765dbe1a011b37a3daaa78056b08daf123a597761e283ce398c55db5852699cbbed4625f04c366b4d5d934b932
|
7
|
+
data.tar.gz: dfa5002402f2de2eeb51e5c89de0715a30e143446b66f5a0482d011a35af099890999722b7cdbbc2142d14176e60b771a6af0f9b7e89869ae77510a2177292c5
|
data/rt_client.rb
CHANGED
@@ -34,7 +34,7 @@ require "rest_client"
|
|
34
34
|
|
35
35
|
class RT_Client
|
36
36
|
|
37
|
-
UA = "Mozilla/5.0 ruby RT Client Interface 0.7.
|
37
|
+
UA = "Mozilla/5.0 ruby RT Client Interface 0.7.3"
|
38
38
|
attr_reader :status, :site, :version, :cookies, :server, :user, :cookie
|
39
39
|
|
40
40
|
# Create a new RT_Client object. Load up our stored cookie and check it.
|
@@ -67,7 +67,7 @@ class RT_Client
|
|
67
67
|
# cookies=<directory>
|
68
68
|
def initialize(*params)
|
69
69
|
@boundary = "----xYzZY#{rand(1000000).to_s}xYzZY"
|
70
|
-
@version = "0.7.
|
70
|
+
@version = "0.7.3"
|
71
71
|
@status = "Not connected"
|
72
72
|
@server = "http://localhost/"
|
73
73
|
@user = "rt_user"
|
@@ -476,11 +476,8 @@ class RT_Client
|
|
476
476
|
id = id.to_s
|
477
477
|
id = $~[1] if id =~ /ticket\/(\d+)/
|
478
478
|
resp = @site["ticket/#{id}/history?format=#{format[0,1]}"].get
|
479
|
-
resp
|
480
|
-
|
481
|
-
resp.gsub!(0x1E.chr,'[RS]')
|
482
|
-
resp.gsub!(0x1F.chr,'[US]')
|
483
|
-
|
479
|
+
resp = sterilize(resp)
|
480
|
+
|
484
481
|
if format[0,1] == "s"
|
485
482
|
if comments
|
486
483
|
h = resp.split("\n").select{ |l| l =~ /^\d+:/ }
|
@@ -560,6 +557,7 @@ class RT_Client
|
|
560
557
|
end
|
561
558
|
reply = {}
|
562
559
|
resp = @site["ticket/#{id}/history/id/#{history}"].get
|
560
|
+
resp = sterilize(resp)
|
563
561
|
return reply if resp =~ /not related/ # history id must be related to the ticket id
|
564
562
|
resp.gsub!(/RT\/\d+\.\d+\.\d+\s\d{3}\s.*\n\n/,"") # toss the HTTP response
|
565
563
|
resp.gsub!(/^#.*?\n\n/,"") # toss the 'total" line
|
@@ -783,7 +781,7 @@ class RT_Client
|
|
783
781
|
ln_a = ln.split(/:/,2)
|
784
782
|
ln_a.map! {|item| item.strip}
|
785
783
|
ln_a[0].downcase!
|
786
|
-
ret[ln_a[0]] = ln_a[1]
|
784
|
+
ret[ln_a[0]] = ln_a[1]
|
787
785
|
end
|
788
786
|
|
789
787
|
return ret
|
@@ -830,6 +828,44 @@ class RT_Client
|
|
830
828
|
return payload
|
831
829
|
end
|
832
830
|
|
831
|
+
# Helper to replace control characters with string representations
|
832
|
+
# When Microsoft XML libraries hit these in an XML response, bad
|
833
|
+
# things happen.
|
834
|
+
def sterilize(str)
|
835
|
+
str.gsub!(0x00.chr,'[NUL]')
|
836
|
+
str.gsub!(0x01.chr,'[SOH]')
|
837
|
+
str.gsub!(0x02.chr,'[STX]')
|
838
|
+
str.gsub!(0x03.chr,'[ETX]')
|
839
|
+
str.gsub!(0x04.chr,'[EOT]')
|
840
|
+
str.gsub!(0x05.chr,'[ENQ]')
|
841
|
+
str.gsub!(0x06.chr,'[ACK]')
|
842
|
+
str.gsub!(0x07.chr,'[BEL]')
|
843
|
+
# 0x08 is backspace
|
844
|
+
# 0x09 is TAB
|
845
|
+
# 0x10 is line feed
|
846
|
+
str.gsub!(0x0B.chr,'[VT]')
|
847
|
+
# 0x0c is form feed
|
848
|
+
# 0x0d is carriage return
|
849
|
+
str.gsub!(0x0E.chr,'[SO]')
|
850
|
+
str.gsub!(0x0F.chr,'[SI]')
|
851
|
+
str.gsub!(0x10.chr,'[DLE]')
|
852
|
+
str.gsub!(0x11.chr,'[DC1]')
|
853
|
+
str.gsub!(0x12.chr,'[DC2]')
|
854
|
+
str.gsub!(0x13.chr,'[DC3]')
|
855
|
+
str.gsub!(0x14.chr,'[DC4]')
|
856
|
+
str.gsub!(0x15.chr,'[NAK]')
|
857
|
+
str.gsub!(0x16.chr,'[SYN]')
|
858
|
+
str.gsub!(0x17.chr,'[ETB]')
|
859
|
+
str.gsub!(0x18.chr,'[CAN]')
|
860
|
+
str.gsub!(0x19.chr,'[EM]')
|
861
|
+
str.gsub!(0x1a.chr,'[SUB]')
|
862
|
+
str.gsub!(0x1C.chr,'[FS]')
|
863
|
+
str.gsub!(0x1D.chr,'[GS]')
|
864
|
+
str.gsub!(0x1E.chr,'[RS]')
|
865
|
+
str.gsub!(0x1F.chr,'[US]')
|
866
|
+
str
|
867
|
+
end
|
868
|
+
|
833
869
|
end
|
834
870
|
|
835
871
|
|
data/rtxmlsrv.rb
CHANGED
@@ -55,6 +55,8 @@ class TicketSrv
|
|
55
55
|
struct.remapkeys!
|
56
56
|
if struct.has_key? :user and struct.has_key? :pass
|
57
57
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
58
|
+
struct.delete(:user)
|
59
|
+
struct.delete(:pass)
|
58
60
|
else
|
59
61
|
rt = RT_Client.new
|
60
62
|
end
|
@@ -69,6 +71,8 @@ class TicketSrv
|
|
69
71
|
struct.remapkeys!
|
70
72
|
if struct.has_key? :user and struct.has_key? :pass
|
71
73
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
74
|
+
struct.delete(:user)
|
75
|
+
struct.delete(:pass)
|
72
76
|
else
|
73
77
|
rt = RT_Client.new
|
74
78
|
end
|
@@ -83,6 +87,8 @@ class TicketSrv
|
|
83
87
|
struct.remapkeys!
|
84
88
|
if struct.has_key? :user and struct.has_key? :pass
|
85
89
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
90
|
+
struct.delete(:user)
|
91
|
+
struct.delete(:pass)
|
86
92
|
else
|
87
93
|
rt = RT_Client.new
|
88
94
|
end
|
@@ -96,6 +102,8 @@ class TicketSrv
|
|
96
102
|
struct.remapkeys!
|
97
103
|
if struct.has_key? :user and struct.has_key? :pass
|
98
104
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
105
|
+
struct.delete(:user)
|
106
|
+
struct.delete(:pass)
|
99
107
|
else
|
100
108
|
rt = RT_Client.new
|
101
109
|
end
|
@@ -109,6 +117,8 @@ class TicketSrv
|
|
109
117
|
struct.remapkeys!
|
110
118
|
if struct.has_key? :user and struct.has_key? :pass
|
111
119
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
120
|
+
struct.delete(:user)
|
121
|
+
struct.delete(:pass)
|
112
122
|
else
|
113
123
|
rt = RT_Client.new
|
114
124
|
end
|
@@ -122,6 +132,8 @@ class TicketSrv
|
|
122
132
|
struct.remapkeys!
|
123
133
|
if struct.has_key? :user and struct.has_key? :pass
|
124
134
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
135
|
+
struct.delete(:user)
|
136
|
+
struct.delete(:pass)
|
125
137
|
else
|
126
138
|
rt = RT_Client.new
|
127
139
|
end
|
@@ -135,6 +147,8 @@ class TicketSrv
|
|
135
147
|
struct.remapkeys!
|
136
148
|
if struct.has_key? :user and struct.has_key? :pass
|
137
149
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
150
|
+
struct.delete(:user)
|
151
|
+
struct.delete(:pass)
|
138
152
|
else
|
139
153
|
rt = RT_Client.new
|
140
154
|
end
|
@@ -148,6 +162,8 @@ class TicketSrv
|
|
148
162
|
struct.remapkeys!
|
149
163
|
if struct.has_key? :user and struct.has_key? :pass
|
150
164
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
165
|
+
struct.delete(:user)
|
166
|
+
struct.delete(:pass)
|
151
167
|
else
|
152
168
|
rt = RT_Client.new
|
153
169
|
end
|
@@ -161,6 +177,8 @@ class TicketSrv
|
|
161
177
|
struct.remapkeys!
|
162
178
|
if struct.has_key? :user and struct.has_key? :pass
|
163
179
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
180
|
+
struct.delete(:user)
|
181
|
+
struct.delete(:pass)
|
164
182
|
else
|
165
183
|
rt = RT_Client.new
|
166
184
|
end
|
@@ -174,6 +192,8 @@ class TicketSrv
|
|
174
192
|
struct.remapkeys!
|
175
193
|
if struct.has_key? :user and struct.has_key? :pass
|
176
194
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
195
|
+
struct.delete(:user)
|
196
|
+
struct.delete(:pass)
|
177
197
|
else
|
178
198
|
rt = RT_Client.new
|
179
199
|
end
|
@@ -187,6 +207,8 @@ class TicketSrv
|
|
187
207
|
struct.remapkeys!
|
188
208
|
if struct.has_key? :user and struct.has_key? :pass
|
189
209
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
210
|
+
struct.delete(:user)
|
211
|
+
struct.delete(:pass)
|
190
212
|
else
|
191
213
|
rt = RT_Client.new
|
192
214
|
end
|
@@ -200,6 +222,8 @@ class TicketSrv
|
|
200
222
|
struct.remapkeys!
|
201
223
|
if struct.has_key? :user and struct.has_key? :pass
|
202
224
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
225
|
+
struct.delete(:user)
|
226
|
+
struct.delete(:pass)
|
203
227
|
else
|
204
228
|
rt = RT_Client.new
|
205
229
|
end
|
@@ -213,6 +237,8 @@ class TicketSrv
|
|
213
237
|
struct.remapkeys!
|
214
238
|
if struct.has_key? :user and struct.has_key? :pass
|
215
239
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
240
|
+
struct.delete(:user)
|
241
|
+
struct.delete(:pass)
|
216
242
|
else
|
217
243
|
rt = RT_Client.new
|
218
244
|
end
|
@@ -226,6 +252,8 @@ class TicketSrv
|
|
226
252
|
struct.remapkeys!
|
227
253
|
if struct.has_key? :user and struct.has_key? :pass
|
228
254
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
255
|
+
struct.delete(:user)
|
256
|
+
struct.delete(:pass)
|
229
257
|
else
|
230
258
|
rt = RT_Client.new
|
231
259
|
end
|
@@ -239,6 +267,8 @@ class TicketSrv
|
|
239
267
|
struct.remapkeys!
|
240
268
|
if struct.has_key? :user and struct.has_key? :pass
|
241
269
|
rt = RT_Client.new(:user => struct[:user], :pass => struct[:pass])
|
270
|
+
struct.delete(:user)
|
271
|
+
struct.delete(:pass)
|
242
272
|
else
|
243
273
|
rt = RT_Client.new
|
244
274
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rt-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Lahti
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|