Sha256: 1c74ae296c82340049bb5e2c16e4adc655ab0399dc251bee623dfe456d5acc96
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
module TicketMasterMod module Lighthouse class Ticket # This is an exhaustive list, but should contain the most common ones, add as necessary @@allowed_attributes = ["number", "permalink", "milestone_id", "created_at", "title", "closed", "updated_at", "raw_data", "priority", "tag", "url", "attachments_count", "creator_id", "milestone_due_on", "original_body_html", "user_id", "user_name", "original_body", "latest_body", "assigned_user_id", "creator_name", "state"] def self.create(ticket) ticket_attr = ticket.to_hash.delete_if { |k, v| !@@allowed_attributes.include?(k) } project = ticket.project.system_data[:project] new_ticket = LighthouseAPI::Ticket.new(:project_id => ticket.project.id) ticket_attr.each do |k, v| new_ticket.send(k + '=', v) end new_ticket.save end def self.save(ticket) ticket_attr = ticket.to_hash.delete_if { |k, v| !@@allowed_attributes.include?(k) || ticket.system_data[:ticket].send(k) == v } project = ticket.project.system_data[:project] lh_ticket = ticket.system_data[:ticket] ticket_attr.each do |k, v| lh_ticket.send(k + '=', v) end lh_ticket.save end def self.close(ticket, resolution) project = ticket.project.system_data[:project] ticket = LighthouseAPI::Ticket.find(ticket.id, :params => {:project_id => ticket.project.id}) ticket.state = resolution ticket.save end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ticketmaster-lighthouse-0.0.1 | lib/provider/ticket.rb |