lib/roart/ticket_page.rb in roart-0.1.5.1 vs lib/roart/ticket_page.rb in roart-0.1.6
- old
+ new
@@ -3,11 +3,11 @@
module TicketPage
IntKeys = %w[id]
def to_hash
- hash = Hash.new
+ hash = HashWithIndifferentAccess.new
self.delete_if{|x| !x.include?(":")}
self.each do |ln|
ln = ln.split(":")
key = nil
if ln[0] && ln[0].match(/^CF-.+/)
@@ -15,16 +15,25 @@
key = "cf_" + key[3..key.length].gsub(/ /, "_")
else
key = ln.delete_at(0).strip.underscore
end
value = ln.join(":").strip
- hash[key.to_sym] = value if key
+ hash[key] = value if key
end
- hash[:id] = hash[:id].split("/").last.to_i
+ hash["id"] = hash["id"].split("/").last.to_i
hash
end
+ def to_search_list_array
+ array = Array.new
+ self.each do |ticket|
+ ticket.extend(Roart::TicketPage)
+ array << ticket.to_hash
+ end
+ array
+ end
+
def to_search_array
array = Array.new
self.delete_if{|x| !x.include?(":")}
self.each do |ln|
hash = Hash.new
@@ -40,11 +49,11 @@
array
end
# TODO: Don't throw away attachments (/^ {13})
def to_history_hash
- hash = Hash.new
+ hash = HashWithIndifferentAccess.new
self.delete_if{|x| !x.include?(":") && !x.match(/^ {9}/) && !x.match(/^ {13}/)}
self.each do |ln|
if ln.match(/^ {9}/) && !ln.match(/^ {13}/)
hash[:content] << "\n" + ln.strip if hash[:content]
elsif ln.match(/^ {13}/)
@@ -52,10 +61,10 @@
else
ln = ln.split(":")
unless ln.size == 1 || ln.first == 'Ticket' # we don't want to override the ticket method.
key = ln.delete_at(0).strip.underscore
value = ln.join(":").strip
- hash[key.to_sym] = IntKeys.include?(key) ? value.to_i : value
+ hash[key] = IntKeys.include?(key) ? value.to_i : value
end
end
end
hash
end
\ No newline at end of file