neocities/models/event.rb
2014-05-02 17:44:31 -07:00

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