module ActsAsAble::Viewer::InstanceMethods

Public Instance Methods

view(obj) click to toggle source

浏览某对象

# File lib/acts_as_able/viewer.rb, line 19
def view(obj)
  self.views.create(viewable_type: class_name(obj), viewable_id: obj.id) 
end
view?(obj) click to toggle source

是否浏览某对象

# File lib/acts_as_able/viewer.rb, line 24
def view?(obj)
  !view_by(obj).blank?
end
viewings(viewable_type) click to toggle source

查看某种类型浏览的所有对象

# File lib/acts_as_able/viewer.rb, line 29
def viewings(viewable_type)
  return viewable_type.constantize.where(id: self.views.where(viewable_type: viewable_type).pluck(:viewable_id))
end

Private Instance Methods

view_by(obj) click to toggle source
# File lib/acts_as_able/viewer.rb, line 35
def view_by(obj)
  self.views.find_by(viewable_type: class_name(obj), viewable_id: obj.id)
end