Module: ActsAsAble::Disser::InstanceMethods

Defined in:
lib/acts_as_able/disser.rb

Instance Method Summary collapse

Instance Method Details

#diss(obj) ⇒ Object

踩某对象



19
20
21
# File 'lib/acts_as_able/disser.rb', line 19

def diss(obj)
  self.disses.find_or_create_by(dissable_type: class_name(obj), dissable_id: obj.id)
end

#diss?(obj) ⇒ Boolean

是否踩了某对象

Returns:

  • (Boolean)


29
30
31
# File 'lib/acts_as_able/disser.rb', line 29

def diss?(obj)
  !diss_by(obj).blank?
end

#dissings(dissable_type) ⇒ Object

查看某种类型踩的所有对象



34
35
36
# File 'lib/acts_as_able/disser.rb', line 34

def dissings(dissable_type)
  return dissable_type.constantize.where(id: self.disses.where(dissable_type: dissable_type).pluck(:dissable_id))
end

#undiss(obj) ⇒ Object

取消对某对象对踩



24
25
26
# File 'lib/acts_as_able/disser.rb', line 24

def undiss(obj)
  diss_by(obj).destroy
end