Class: Ticket

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/ticket.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.search(phrase, options = {}) ⇒ Object



6
7
8
9
10
11
# File 'lib/ticket.rb', line 6

def self.search(phrase, options = {})
  conditions = { :state => (options.delete(:state) || OPEN) }
  self.with_scope(:find => options.merge(:conditions => conditions) ) do
    self.find(:all, :conditions => ["keywords LIKE ? OR message LIKE ?", "%" + phrase + "%", "%" + phrase + "%"])
  end
end

Instance Method Details

#closeObject



23
24
25
# File 'lib/ticket.rb', line 23

def close
  self.update_attributes!(:state => CLOSED)
end

#closed?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/ticket.rb', line 31

def closed?
  self.state == 1
end

#numberObject



35
36
37
# File 'lib/ticket.rb', line 35

def number
  self.id
end

#openObject



19
20
21
# File 'lib/ticket.rb', line 19

def open
  self.update_attributes!(:state => OPEN)
end

#open?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/ticket.rb', line 27

def open?
  self.state == 0
end

#summaryObject



13
14
15
16
17
# File 'lib/ticket.rb', line 13

def summary
  digits = self.number.to_s.length
  trim_to = 65 - digits
  self.message.length > 60 ? self.message[0..trim_to] + "..." : self.message
end