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