@@ -8,7 +8,8 @@ class Person
88 kredis_proxy :nothing , key : "something:else"
99 kredis_proxy :something , key : -> ( p ) { "person:#{ p . id } :something" }
1010 kredis_list :names
11- kredis_list :names_with_custom_key , key : -> ( p ) { "person:#{ p . id } :names_customized" }
11+ kredis_list :names_with_custom_key_via_lambda , key : -> ( p ) { "person:#{ p . id } :names_customized" }
12+ kredis_list :names_with_custom_key_via_method , key : :generate_key
1213 kredis_unique_list :skills , limit : 2
1314 kredis_flag :special
1415 kredis_flag :temporary_special , expires_in : 1 . second
@@ -35,6 +36,11 @@ def self.name
3536 def id
3637 8
3738 end
39+
40+ private
41+ def generate_key
42+ "some-generated-key"
43+ end
3844end
3945
4046class MissingIdPerson
@@ -68,10 +74,15 @@ class AttributesTest < ActiveSupport::TestCase
6874 end
6975
7076 test "list with custom proc key" do
71- @person . names_with_custom_key . append ( %w[ david kasper ] )
77+ @person . names_with_custom_key_via_lambda . append ( %w[ david kasper ] )
7278 assert_equal %w[ david kasper ] , Kredis . redis . lrange ( "person:8:names_customized" , 0 , -1 )
7379 end
7480
81+ test "list with custom method key" do
82+ @person . names_with_custom_key_via_method . append ( %w[ david kasper ] )
83+ assert_equal %w[ david kasper ] , Kredis . redis . lrange ( "some-generated-key" , 0 , -1 )
84+ end
85+
7586 test "unique list" do
7687 @person . skills . prepend ( %w[ trolling photography ] )
7788 @person . skills . prepend ( "racing" )
0 commit comments