Module: LoyalCore::ActsAsRatingTrackAble::ClassMethods::InstanceMethods

Defined in:
lib/loyal_core/acts/rating_track_able.rb

Instance Method Summary collapse

Instance Method Details

#down_rating_by!(user, score = -1)) ⇒ Object

打低分



38
39
40
41
42
43
44
45
# File 'lib/loyal_core/acts/rating_track_able.rb', line 38

def down_rating_by!(user, score=-1)
  if rating_by? user
    :already
  else
    self.rating_by! user, score
    :down
  end
end

#rating_by!(user, score = 1) ⇒ Object

用户进行打分



48
49
50
51
52
53
54
55
56
# File 'lib/loyal_core/acts/rating_track_able.rb', line 48

def rating_by!(user, score=1)
  tmp_scope = self.user_rating_tracks(user)

  tmp_scope.first || tmp_scope.create(
    :score => score
  )

  _expire_rating_track_cache
end

#rating_by?(user) ⇒ Boolean

是否被**打分?

Returns:

  • (Boolean)


23
24
25
# File 'lib/loyal_core/acts/rating_track_able.rb', line 23

def rating_by?(user)
  self.user_rating_tracks(user).exists?
end

#undo_rating_by!(user) ⇒ Object

取消打分



59
60
61
62
63
# File 'lib/loyal_core/acts/rating_track_able.rb', line 59

def undo_rating_by!(user)
  self.user_rating_tracks(user).destroy_all

  _expire_rating_track_cache
end

#up_rating_by!(user, score = 1) ⇒ Object

加分



28
29
30
31
32
33
34
35
# File 'lib/loyal_core/acts/rating_track_able.rb', line 28

def up_rating_by!(user, score=1)
  if rating_by? user
    :already
  else
    self.rating_by! user, score
    :up
  end
end

#user_rating_tracks(user) ⇒ Object



18
19
20
# File 'lib/loyal_core/acts/rating_track_able.rb', line 18

def user_rating_tracks user
  self.rating_tracks.filter_by_creator(user)
end