Module: Roart::TicketPage
- Defined in:
- lib/roart/ticket_page.rb
Constant Summary collapse
- IntKeys =
%w[id]
Instance Method Summary collapse
- #to_hash ⇒ Object
-
#to_history_hash ⇒ Object
TODO: Don’t throw away attachments (/^ 13).
- #to_search_array ⇒ Object
Instance Method Details
#to_hash ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/roart/ticket_page.rb', line 7 def to_hash hash = Hash.new self.delete_if{|x| !x.include?(":")} self.each do |ln| ln = ln.split(":") if ln[0] && ln[0].match(/^CF-.+/) key = ln.delete_at(0) key = "cf_" + key[3..key.length].gsub(/ /, "_") else key = ln.delete_at(0).strip.underscore value = ln.join(":").strip hash[key.to_sym] = value end end hash[:id] = hash[:id].split("/").last.to_i hash end |
#to_history_hash ⇒ Object
TODO: Don’t throw away attachments (/^ 13)
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/roart/ticket_page.rb', line 43 def to_history_hash hash = Hash.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}/) hash[:attachments] << "\n" + ln.strip if hash[:attachments] 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 end end end hash end |
#to_search_array ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/roart/ticket_page.rb', line 25 def to_search_array array = Array.new self.delete_if{|x| !x.include?(":")} self.each do |ln| hash = Hash.new ln = ln.split(":") id = ln.delete_at(0).strip.underscore sub = ln.join(":").strip hash[:id] = id.to_i hash[:subject] = sub hash[:full] = false hash[:history] = false array << hash end array end |