blob: 7c05e06224e745ba4b808bcbabb4d68b60bd6e1c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
class Message < CouchRest::Model::Base
use_database :messages
property :text, String
property :user_ids_to_show, [String]
property :user_ids_have_shown, [String] # is this necessary to store?
timestamps!
design do
own_path = Pathname.new(File.dirname(__FILE__))
load_views(own_path.join('..', 'designs', 'message'))
end
def mark_as_read_by(user)
user_ids_to_show.delete(user.id)
# is it necessary to keep track of what users have already seen it?
user_ids_have_shown << user.id unless read_by?(user)
# TODO: is it quicker to call uniq! after adding rather than check if it is already included?
end
def read_by?(user)
user_ids_have_shown.include?(user.id)
end
def unread_by?(user)
user_ids_to_shown.include?(user.id)
end
end
|