Module: ActsAsFavorite::Favoriter::InstanceMethods

Defined in:
lib/acts_as_favorite/favoriter.rb

Instance Method Summary collapse

Instance Method Details

#favorite(favorable) ⇒ Object



25
26
27
28
29
# File 'lib/acts_as_favorite/favoriter.rb', line 25

def favorite(favorable)
  unless self.favorite?(favorable)
    favorites.create(favorable_id: favorable.id, favorable_type: favorable.class.base_class.name)
  end
end

#favorite?(favorable) ⇒ Boolean

instance methods

Returns:

  • (Boolean)


21
22
23
# File 'lib/acts_as_favorite/favoriter.rb', line 21

def favorite?(favorable)
  favorites.find_by(favorable_id: favorable.id, favorable_type: favorable.class.base_class.name).present?
end

#unfavorite(favorable) ⇒ Object



31
32
33
34
# File 'lib/acts_as_favorite/favoriter.rb', line 31

def unfavorite(favorable)
  records = favorites.find_by(favorable_id: favorable.id, favorable_type: favorable.class.base_class.name)
  records.try(:destroy)
end

#update_favorite(favorable) ⇒ Object



36
37
38
39
# File 'lib/acts_as_favorite/favoriter.rb', line 36

def update_favorite(favorable)
  records = favorites.find(favorable.id)
  records.update_attributes(favorable_id: favorable.id, favorable_type: favorable.class.base_class.name)
end