mirror of
https://github.com/neocities/neocities.git
synced 2025-04-25 01:32:36 +02:00
47 lines
No EOL
964 B
Ruby
47 lines
No EOL
964 B
Ruby
class Event < Sequel::Model
|
|
include Sequel::ParanoidDelete
|
|
|
|
many_to_one :site
|
|
one_to_one :follow
|
|
one_to_one :tip
|
|
one_to_one :tag
|
|
one_to_one :site_change
|
|
many_to_one :profile_comment
|
|
one_to_many :likes
|
|
one_to_many :comments
|
|
|
|
def created_by?(site)
|
|
return true if profile_comment && profile_comment.actioning_site_id == site.id
|
|
false
|
|
end
|
|
|
|
def liking_site_names
|
|
likes.collect {|like| like.actioning_site.username }
|
|
end
|
|
|
|
def add_site_comment(site, message)
|
|
add_comment actioning_site_id: site.id, message: message
|
|
end
|
|
|
|
def site_likes?(site)
|
|
likes_dataset.filter(actioning_site_id: site.id).count > 0
|
|
end
|
|
|
|
def site_like(site)
|
|
add_like actioning_site_id: site.id
|
|
end
|
|
|
|
def site_unlike(site)
|
|
likes_dataset.filter(actioning_site_id: site.id).delete
|
|
end
|
|
|
|
def toggle_site_like(site)
|
|
if site_likes? site
|
|
site_unlike site
|
|
false
|
|
else
|
|
site_like site
|
|
true
|
|
end
|
|
end
|
|
end |