36 lines
1.0 KiB
Ruby
36 lines
1.0 KiB
Ruby
include Devise::Models
|
|
|
|
module JamRuby
|
|
class TextMessage < ActiveRecord::Base
|
|
|
|
self.primary_key = 'id'
|
|
|
|
default_scope order('created_at DESC')
|
|
|
|
attr_accessible :target_user_id, :source_user_id, :message
|
|
|
|
belongs_to :target_user, :class_name => "JamRuby::User", :foreign_key => "target_user_id"
|
|
belongs_to :source_user, :class_name => "JamRuby::User", :foreign_key => "source_user_id"
|
|
|
|
validates :message, length: {minimum: 1, maximum: 400}, no_profanity: true
|
|
|
|
def self.index(target_user_id, source_user_id, options = {})
|
|
offset = options[:offset]
|
|
limit = options[:limit]
|
|
|
|
# if not specified, default offset to 0
|
|
offset ||= 0
|
|
offset = offset.to_i
|
|
|
|
# if not specified, default limit to 10
|
|
limit ||= 10
|
|
limit = limit.to_i
|
|
|
|
TextMessage
|
|
.offset(offset)
|
|
.limit(limit)
|
|
.where('(source_user_id = (?) AND target_user_id = (?)) OR (source_user_id = (?) AND target_user_id = (?))', source_user_id, target_user_id, target_user_id, source_user_id)
|
|
|
|
end
|
|
end
|
|
end |