Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion lib/roart/ticket.rb
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,6 @@ def page_array(uri) #:nodoc:
page = page.split("\n")
status = page.delete_at(0)
if status.include?("200")
page.delete_if{|x| !x.include?(":")}
page
else
raise TicketSystemInterfaceError, "Error Getting Ticket: #{status}"
Expand Down
8 changes: 7 additions & 1 deletion lib/roart/ticket_page.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ module TicketPage

def to_hash
hash = HashWithIndifferentAccess.new
unfold_fields!
self.delete_if{|x| !x.include?(":")}
return false if self.size == 0
self.each do |ln|
Expand All @@ -24,6 +25,11 @@ def to_hash
hash
end

def unfold_fields!
unfolded = join("\n").gsub(/\n +/, " ")
replace(unfolded.lines)
end

def to_search_list_array
array = Array.new
self.each do |ticket|
Expand Down Expand Up @@ -75,4 +81,4 @@ def to_history_hash

end

end
end
18 changes: 16 additions & 2 deletions spec/roart/ticket_page_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,21 @@
end

end


describe 'reading an old ticket (v3.2.1)' do

before do
@page = File.open(File.join(File.dirname(__FILE__), %w[ .. test_data ticket-v3.2.1.txt])).readlines.join
@page = @page.split("\n")
@page.extend(Roart::TicketPage)
end

it 'should unfold multiline fields' do
@page.to_hash[:requestors].should match('steve@oceanic.com')
@page.to_hash[:requestors].should match('scott@oceanic.com')
end
end

describe 'search array' do

before do
Expand Down Expand Up @@ -90,4 +104,4 @@

end

end
end
26 changes: 26 additions & 0 deletions spec/test_data/ticket-v3.2.1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
RT/3.2.1 200 Ok

id: ticket/815
Queue: RspecTests
Owner: chrisdambrosio
Creator: chrisdambrosio
Subject: Support very old installations
Status: open
Priority: 0
InitialPriority: 0
FinalPriority: 0

Requestors: scott@oceanic.com,
steve@oceanic.com

Cc:
AdminCc:
Created: Mon Aug 11 11:34:24 2014
Starts: Not set
Started: Not set
Due: Not set
Resolved: Not set
Told: Not set
TimeEstimated: 0
TimeWorked: 0
TimeLeft: 0