class OTRS::Ticket::Article
Public Class Methods
find(id)
click to toggle source
# File lib/otrs_connector/otrs/ticket/article.rb, line 30 def self.find(id) data = { 'ArticleID' => id, 'UserID' => 1 } params = { :object => 'TicketObject', :method => 'ArticleGet', :data => data } a = connect(params) a = Hash[*a].symbolize_keys self.new(a) end
new(attributes = {})
click to toggle source
# File lib/otrs_connector/otrs/ticket/article.rb, line 7 def initialize(attributes = {}) attributes.each do |name, value| OTRS::Ticket::Article.set_accessors(name.to_s.underscore) send("#{name.to_s.underscore.to_sym}=", value) end end
set_accessors(key)
click to toggle source
# File lib/otrs_connector/otrs/ticket/article.rb, line 3 def self.set_accessors(key) attr_accessor key.to_sym end
where(ticket_id)
click to toggle source
# File lib/otrs_connector/otrs/ticket/article.rb, line 38 def self.where(ticket_id) data = { 'TicketID' => ticket_id } params = { :object => 'TicketObject', :method => 'ArticleIndex', :data => data } a = connect(params) b = [] a.each do |c| b << find(c) end OTRS::Relation.new(b) end
Public Instance Methods
create(attributes)
click to toggle source
# File lib/otrs_connector/otrs/ticket/article.rb, line 17 def create(attributes) data = { 'TicketID' => attributes[:ticket_id], 'From' => attributes[:email], 'Subject' => attributes[:title], 'Body' => attributes[:body] } data['ArticleType'] ||= 'email-external' data['UserID'] ||= 1 data['SenderType'] ||= 'agent' data['HistoryType'] ||= 'NewTicket' data['HistoryComment'] ||= ' ' data['ContentType'] ||= 'text/plain' params = { :object => 'TicketObject', :method => 'ArticleCreate', :data => data } a = connect(params) if a.first.nil? then nil else a end end
save()
click to toggle source
# File lib/otrs_connector/otrs/ticket/article.rb, line 13 def save self.create(self.attributes) end