File tree Expand file tree Collapse file tree 2 files changed +19
-5
lines changed
Expand file tree Collapse file tree 2 files changed +19
-5
lines changed Original file line number Diff line number Diff line change @@ -173,8 +173,15 @@ module InstanceMethods
173173 def redis ( ) self . class . redis end
174174 def redis_objects ( ) self . class . redis_objects end
175175
176- def delete!
177- redis . del ( redis_objects . keys . map { |k | send ( k ) } . reject ( &:nil? ) . map { |obj | obj . key } )
176+ def redis_delete_objects
177+ redis . del ( redis_instance_keys )
178+ end
179+
180+ def redis_instance_keys
181+ redis_objects
182+ . reject { |_ , value | value [ :global ] }
183+ . keys
184+ . collect { |name | redis_field_key ( name ) }
178185 end
179186
180187 def redis_options ( name ) #:nodoc:
Original file line number Diff line number Diff line change @@ -1009,8 +1009,15 @@ class CustomIdFieldRoster < UidRoster
10091009 end
10101010
10111011 it "should allow deleting the entire object" do
1012- @roster . redis . keys . select { |key | key . match ( /^roster:/ ) } . count . should > 0
1013- @roster . delete! . should > 0
1014- @roster . redis . keys . select { |key | key . match ( /^roster:/ ) } . count . should == 0
1012+ ( @roster . redis . keys & @roster . redis_instance_keys ) . count . should > 0
1013+ @roster . redis_delete_objects . should > 0
1014+ ( @roster . redis . keys & @roster . redis_instance_keys ) . count . should == 0
1015+ end
1016+
1017+ it "should be able to return all instance keys" do
1018+ @roster . redis_instance_keys . include? ( 'roster:1:player_stats' ) . should == true
1019+ @roster . redis_instance_keys . include? ( 'players:my_rank:user1' ) . should == true
1020+ @roster . redis_instance_keys . include? ( 'roster:1:player_stats' ) . should == true
1021+ @roster . redis_instance_keys . include? ( 'players:all_stats' ) . should == false
10151022 end
10161023end
You can’t perform that action at this time.
0 commit comments