rt-client 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/rt/client.rb +32 -1
  2. metadata +2 -2
data/rt/client.rb CHANGED
@@ -103,7 +103,7 @@ class RT_Client
103
103
 
104
104
  if @cookie.length == 0 or data =~ /401/ # we're not logged in
105
105
  data = site.post @login, :headers => headers
106
- puts data
106
+ # puts data
107
107
  @cookie = data.headers[:set_cookie].to_s.split('; ')[0]
108
108
  # write the new cookie
109
109
  if @cookie !~ /nil/
@@ -154,6 +154,37 @@ class RT_Client
154
154
  reply
155
155
  end
156
156
 
157
+ # gets a list of ticket links for a ticket.
158
+ # takes a single parameter containing the ticket id,
159
+ # and returns a hash of RT Fields => values
160
+ #
161
+ # hash = rt.links(822)
162
+ # hash = rt.links("822")
163
+ # hash = rt.links("ticket/822")
164
+ # hash = rt.links(:id => 822)
165
+ # hash = rt.links(:id => "822")
166
+ # hash = rt.links(:id => "ticket/822")
167
+ def links(id)
168
+ id = id[:id] if id.class == Hash
169
+ id = id.to_s
170
+ type = "ticket"
171
+ sid = id
172
+ if id =~ /(\w+)\/(.+)/
173
+ type = $~[1]
174
+ sid = $~[2]
175
+ end
176
+ reply = {}
177
+ resp = @site["ticket/#{sid}/links/show"].get
178
+ resp.gsub!(/RT\/\d\.\d\.\d\s\d{3}\s.*\n\n/,"") # toss the HTTP response
179
+ resp.gsub!(/\n\n/,"\n") # remove double spacing, TMail stops at a blank line
180
+ return {:error => resp, } if resp =~ /does not exist./
181
+ th = TMail::Mail.parse(resp)
182
+ th.each_header do |k,v|
183
+ reply["#{k}"] = v.to_s
184
+ end
185
+ reply
186
+ end
187
+
157
188
  # Creates a new ticket. Requires a hash that contains RT form fields as
158
189
  # the keys. Capitalization is important; use :Queue, not :queue. You
159
190
  # will need at least :Queue to create a ticket. For a full list of fields
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rt-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Lahti
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-27 00:00:00 -07:00
12
+ date: 2009-06-01 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency