acts_as_rrranking 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDMyMDhlMDE1NWFlMmVmMmZmZWZkMTQ2Njg1NjU1YjdhZWIxZDJjYg==
4
+ NTA5ZWI0MGVhMWFmMjExZWE4ZmY3YTcyZDg0NTZhNzU1MGJlZWUwMA==
5
5
  data.tar.gz: !binary |-
6
- YjA2NWY5NTM0NThkY2VhMjFlNWEyM2MxOWI4YmI2NWVkYWQwOWFiYg==
6
+ Mjk4NTM0OTFmOThiOGQxOTg5MjQ1ZmM0ZGQwODdlYTdjYTIwY2VmYg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ZjNmZWRhZGZhYWM2NmI4ZWZmMjA5NzVmYjc4OGU2YjVjMDBiZWQyNDFmNDNm
10
- NGMwMzk2ZmJiZmNmYjg2OWQ3YjYyNmVlMzgzOTQ0YzE5NDc3OGFlMzdlOTY5
11
- MTRhZTM5OTIxY2MyZmZjODM3MzIyMzc3ZjI2NjZjNTkzMWVkYTk=
9
+ ZDZlZmE3M2IzODY5MDQzNzA5ZmM4NjJiYTIyMTg2YzNmOWFhMzU0OTJmZWJh
10
+ NDg1M2Y4NTRmYmNjMTQ1ZTMwMmI3NTRiNjg5YWIxNDFlZDZjNGFjOTA2M2Yy
11
+ ZTZjNmY2NGQyNzk3MjgxY2YwN2U0Y2NjYTY1ZjBkYTUwNzEwZjA=
12
12
  data.tar.gz: !binary |-
13
- NjI5NDQ4MDhlNzk4NDVmZjU5Y2E3ZDMzOTUwM2IxMTM5NWIxNjNiZDAwNDlk
14
- ZTBlNDIzNmVhNzg5NzBmYjMyNDNlZDI2OTVjZDBlYmVmZDllNzliOTU0OGEw
15
- NGIxNzgwZTIwNGZjYTkyYWE4ZDUxNWMwMGEwYTllNDIxNzgzYzY=
13
+ MjRiNmM4YjAzZTRiMTYzNTM4ZWJjMDNkNThjOTVlZDcxMWI4MDUzNWMyZDE1
14
+ YmI5NDNiODI5ODFmNDIyYWRhZDA1ZDVkZTM1MzIwY2ZjY2RmZWExMDUzYTVk
15
+ NmVjMDdiYmUyNjI3NGU1NTRjNWZlZjcxNjE5MmU2YjY4MGQ0OTI=
@@ -16,15 +16,20 @@ module ActsAsRrranking
16
16
  self.class.redis.zadd('#{@redis_ranking_key}', self.#{@score_key}, self.#{@ranking_id})
17
17
  end
18
18
 
19
+ def delete_#{@ranking_key}
20
+ self.class.redis.zrem('#{@redis_ranking_key}', self.#{@ranking_id})
21
+ end
22
+
19
23
  def current_#{@ranking_key}
20
24
  if self.#{@score_key} && self.#{@score_key} > 0
21
- (self.class.redis.zrevrank('#{@redis_ranking_key}', self.#{@ranking_id}) || -1) + 1
25
+ (self.class.redis.zrevrank('#{@redis_ranking_key}', self.#{@ranking_id}) || -1).try(:+, 1)
22
26
  else
23
27
  nil
24
28
  end
25
29
  end
26
30
 
27
31
  after_save :update_#{@ranking_key}
32
+ after_destroy :delete_#{@ranking_key}
28
33
  STR
29
34
 
30
35
  instance_eval <<-STR
@@ -40,6 +45,10 @@ module ActsAsRrranking
40
45
  def redis_ranking_key
41
46
  '#{@redis_ranking_key}'
42
47
  end
48
+
49
+ def remove_all_redis_ranking_data
50
+ self.redis.zremrangebyrank('#{@redis_ranking_key}', 0, -1)
51
+ end
43
52
  STR
44
53
  end
45
54
 
@@ -63,8 +72,12 @@ module ActsAsRrranking
63
72
  @db_name ||= ActiveRecord::Base.connection_config[:adapter]
64
73
  end
65
74
 
75
+ def redis=(conn)
76
+ @redis = conn
77
+ end
78
+
66
79
  def redis
67
- @redis ||= Redis.new
80
+ @redis || Redis.current || raise("Redis connection not set")
68
81
  end
69
82
  end
70
83
  end
@@ -1,3 +1,3 @@
1
1
  module ActsAsRrranking
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_rrranking
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Weihu Chen