@@ -134,9 +134,9 @@ def request_params
134134 chain = Dynamoid ::Criteria ::Chain . new ( model )
135135 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
136136 expect ( chain . where ( name : 'Bob' , age : 10 ) . all ) . to contain_exactly ( customer1 )
137- expect ( chain . keys_detector . hash_key ) . to eq ( :name )
138- expect ( chain . keys_detector . range_key ) . to eq ( :age )
139- expect ( chain . keys_detector . index_name ) . to be_nil
137+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :name )
138+ expect ( chain . key_fields_detector . range_key ) . to eq ( :age )
139+ expect ( chain . key_fields_detector . index_name ) . to be_nil
140140 end
141141
142142 it 'supports lt' do
@@ -211,9 +211,9 @@ def request_params
211211 chain = Dynamoid ::Criteria ::Chain . new ( model )
212212 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
213213 expect ( chain . where ( name : 'a' , age : 10 ) . all ) . to contain_exactly ( customer1 )
214- expect ( chain . keys_detector . hash_key ) . to eq ( :name )
215- expect ( chain . keys_detector . range_key ) . to be_nil
216- expect ( chain . keys_detector . index_name ) . to be_nil
214+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :name )
215+ expect ( chain . key_fields_detector . range_key ) . to be_nil
216+ expect ( chain . key_fields_detector . index_name ) . to be_nil
217217 end
218218
219219 it 'supports eq for set' do
@@ -359,9 +359,9 @@ def request_params
359359 chain = Dynamoid ::Criteria ::Chain . new ( model )
360360 expect ( chain ) . to receive ( :pages_via_scan ) . and_call_original
361361 expect ( chain . where ( age : 10 ) . all ) . to contain_exactly ( customer1 )
362- expect ( chain . keys_detector . hash_key ) . to be_nil
363- expect ( chain . keys_detector . range_key ) . to be_nil
364- expect ( chain . keys_detector . index_name ) . to be_nil
362+ expect ( chain . key_fields_detector . hash_key ) . to be_nil
363+ expect ( chain . key_fields_detector . range_key ) . to be_nil
364+ expect ( chain . key_fields_detector . index_name ) . to be_nil
365365 end
366366
367367 it 'supports eq for set' do
@@ -535,41 +535,41 @@ def request_params
535535 chain = Dynamoid ::Criteria ::Chain . new ( model )
536536 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
537537 expect ( chain . where ( name : 'Bob' , 'range.lt' : 3 , 'range2.gt' : 15 ) . to_a . size ) . to eq ( 1 )
538- expect ( chain . keys_detector . hash_key ) . to eq ( :name )
539- expect ( chain . keys_detector . range_key ) . to eq ( :range )
540- expect ( chain . keys_detector . index_name ) . to be_nil
538+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :name )
539+ expect ( chain . key_fields_detector . range_key ) . to eq ( :range )
540+ expect ( chain . key_fields_detector . index_name ) . to be_nil
541541 end
542542
543543 it 'supports query on local secondary index' do
544544 chain = Dynamoid ::Criteria ::Chain . new ( model )
545545 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
546546 expect ( chain . where ( name : 'Bob' , 'range2.gt' : 15 ) . to_a . size ) . to eq ( 2 )
547- expect ( chain . keys_detector . hash_key ) . to eq ( :name )
548- expect ( chain . keys_detector . range_key ) . to eq ( :range2 )
549- expect ( chain . keys_detector . index_name ) . to eq ( :range2index )
547+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :name )
548+ expect ( chain . key_fields_detector . range_key ) . to eq ( :range2 )
549+ expect ( chain . key_fields_detector . index_name ) . to eq ( :range2index )
550550
551551 chain = Dynamoid ::Criteria ::Chain . new ( model )
552552 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
553553 expect ( chain . where ( name : 'Bob' , 'range3.lt' : 200 ) . to_a . size ) . to eq ( 1 )
554- expect ( chain . keys_detector . hash_key ) . to eq ( :name )
555- expect ( chain . keys_detector . range_key ) . to eq ( :range3 )
556- expect ( chain . keys_detector . index_name ) . to eq ( :range3index )
554+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :name )
555+ expect ( chain . key_fields_detector . range_key ) . to eq ( :range3 )
556+ expect ( chain . key_fields_detector . index_name ) . to eq ( :range3index )
557557 end
558558
559559 it 'supports query on local secondary index with start' do
560560 chain = Dynamoid ::Criteria ::Chain . new ( model )
561561 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
562562 expect ( chain . where ( name : 'Bob' , 'range2.gt' : 15 ) . to_a . size ) . to eq ( 2 )
563- expect ( chain . keys_detector . hash_key ) . to eq ( :name )
564- expect ( chain . keys_detector . range_key ) . to eq ( :range2 )
565- expect ( chain . keys_detector . index_name ) . to eq ( :range2index )
563+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :name )
564+ expect ( chain . key_fields_detector . range_key ) . to eq ( :range2 )
565+ expect ( chain . key_fields_detector . index_name ) . to eq ( :range2index )
566566
567567 chain = Dynamoid ::Criteria ::Chain . new ( model )
568568 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
569569 expect ( chain . where ( name : 'Bob' , 'range2.gt' : 15 ) . start ( @customer2 ) . all ) . to contain_exactly ( @customer3 )
570- expect ( chain . keys_detector . hash_key ) . to eq ( :name )
571- expect ( chain . keys_detector . range_key ) . to eq ( :range2 )
572- expect ( chain . keys_detector . index_name ) . to eq ( :range2index )
570+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :name )
571+ expect ( chain . key_fields_detector . range_key ) . to eq ( :range2 )
572+ expect ( chain . key_fields_detector . index_name ) . to eq ( :range2index )
573573 end
574574 end
575575
@@ -592,9 +592,9 @@ def request_params
592592 expect ( chain ) . to receive ( :pages_via_scan ) . and_call_original
593593 expect ( chain . where ( city : 'San Francisco' ) . to_a . size ) . to eq ( 2 )
594594 # Does not use GSI since not projecting all attributes
595- expect ( chain . keys_detector . hash_key ) . to be_nil
596- expect ( chain . keys_detector . range_key ) . to be_nil
597- expect ( chain . keys_detector . index_name ) . to be_nil
595+ expect ( chain . key_fields_detector . hash_key ) . to be_nil
596+ expect ( chain . key_fields_detector . range_key ) . to be_nil
597+ expect ( chain . key_fields_detector . index_name ) . to be_nil
598598 end
599599
600600 context 'with full composite key for table' do
@@ -628,57 +628,57 @@ def request_params
628628 chain = Dynamoid ::Criteria ::Chain . new ( model )
629629 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
630630 expect ( chain . where ( name : 'Bob' ) . to_a . size ) . to eq ( 1 )
631- expect ( chain . keys_detector . hash_key ) . to eq ( :name )
632- expect ( chain . keys_detector . range_key ) . to be_nil
633- expect ( chain . keys_detector . index_name ) . to be_nil
631+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :name )
632+ expect ( chain . key_fields_detector . range_key ) . to be_nil
633+ expect ( chain . key_fields_detector . index_name ) . to be_nil
634634 end
635635
636636 it 'supports query on global secondary index' do
637637 chain = Dynamoid ::Criteria ::Chain . new ( model )
638638 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
639639 expect ( chain . where ( city : 'San Francisco' ) . to_a . size ) . to eq ( 3 )
640- expect ( chain . keys_detector . hash_key ) . to eq ( :city )
641- expect ( chain . keys_detector . range_key ) . to eq ( :age )
642- expect ( chain . keys_detector . index_name ) . to eq ( :cityage )
640+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :city )
641+ expect ( chain . key_fields_detector . range_key ) . to eq ( :age )
642+ expect ( chain . key_fields_detector . index_name ) . to eq ( :cityage )
643643
644644 chain = Dynamoid ::Criteria ::Chain . new ( model )
645645 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
646646 expect ( chain . where ( city : 'San Francisco' , 'age.gt' : 12 ) . to_a . size ) . to eq ( 2 )
647- expect ( chain . keys_detector . hash_key ) . to eq ( :city )
648- expect ( chain . keys_detector . range_key ) . to eq ( :age )
649- expect ( chain . keys_detector . index_name ) . to eq ( :cityage )
647+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :city )
648+ expect ( chain . key_fields_detector . range_key ) . to eq ( :age )
649+ expect ( chain . key_fields_detector . index_name ) . to eq ( :cityage )
650650
651651 chain = Dynamoid ::Criteria ::Chain . new ( model )
652652 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
653653 expect ( chain . where ( email :
'[email protected] ' ) . to_a . size ) . to eq ( 1 ) 654- expect ( chain . keys_detector . hash_key ) . to eq ( :email )
655- expect ( chain . keys_detector . range_key ) . to eq ( :age )
656- expect ( chain . keys_detector . index_name ) . to eq ( :emailage )
654+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :email )
655+ expect ( chain . key_fields_detector . range_key ) . to eq ( :age )
656+ expect ( chain . key_fields_detector . index_name ) . to eq ( :emailage )
657657
658658 chain = Dynamoid ::Criteria ::Chain . new ( model )
659659 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
660660 expect ( chain . where ( email :
'[email protected] ' , 'age.gt' :
12 ) . to_a . size ) . to eq ( 1 ) 661- expect ( chain . keys_detector . hash_key ) . to eq ( :email )
662- expect ( chain . keys_detector . range_key ) . to eq ( :age )
663- expect ( chain . keys_detector . index_name ) . to eq ( :emailage )
661+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :email )
662+ expect ( chain . key_fields_detector . range_key ) . to eq ( :age )
663+ expect ( chain . key_fields_detector . index_name ) . to eq ( :emailage )
664664 end
665665
666666 it 'supports scan when no global secondary index available' do
667667 chain = Dynamoid ::Criteria ::Chain . new ( model )
668668 expect ( chain ) . to receive ( :pages_via_scan ) . and_call_original
669669 expect ( chain . where ( gender : 'male' ) . to_a . size ) . to eq ( 4 )
670- expect ( chain . keys_detector . hash_key ) . to be_nil
671- expect ( chain . keys_detector . range_key ) . to be_nil
672- expect ( chain . keys_detector . index_name ) . to be_nil
670+ expect ( chain . key_fields_detector . hash_key ) . to be_nil
671+ expect ( chain . key_fields_detector . range_key ) . to be_nil
672+ expect ( chain . key_fields_detector . index_name ) . to be_nil
673673 end
674674
675675 it 'supports query on global secondary index with start' do
676676 chain = Dynamoid ::Criteria ::Chain . new ( model )
677677 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
678678 expect ( chain . where ( city : 'San Francisco' ) . to_a . size ) . to eq ( 3 )
679- expect ( chain . keys_detector . hash_key ) . to eq ( :city )
680- expect ( chain . keys_detector . range_key ) . to eq ( :age )
681- expect ( chain . keys_detector . index_name ) . to eq ( :cityage )
679+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :city )
680+ expect ( chain . key_fields_detector . range_key ) . to eq ( :age )
681+ expect ( chain . key_fields_detector . index_name ) . to eq ( :cityage )
682682
683683 # Now query with start at customer2 and we should only see customer3
684684 chain = Dynamoid ::Criteria ::Chain . new ( model )
@@ -690,25 +690,25 @@ def request_params
690690 chain = Dynamoid ::Criteria ::Chain . new ( model )
691691 expect ( chain ) . to receive ( :pages_via_scan ) . and_call_original
692692 expect ( chain . where ( 'city.begins_with' : 'San' ) . to_a . size ) . to eq ( 3 )
693- expect ( chain . keys_detector . hash_key ) . to be_nil
694- expect ( chain . keys_detector . range_key ) . to be_nil
695- expect ( chain . keys_detector . index_name ) . to be_nil
693+ expect ( chain . key_fields_detector . hash_key ) . to be_nil
694+ expect ( chain . key_fields_detector . range_key ) . to be_nil
695+ expect ( chain . key_fields_detector . index_name ) . to be_nil
696696 end
697697
698698 it 'prefers global secondary index with range key used in conditions to index w/o such range key' do
699699 chain = Dynamoid ::Criteria ::Chain . new ( model )
700700 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
701701 expect ( chain . where ( city : 'San Francisco' , 'age.lte' : 15 ) . to_a . size ) . to eq ( 2 )
702- expect ( chain . keys_detector . hash_key ) . to eq ( :city )
703- expect ( chain . keys_detector . range_key ) . to eq ( :age )
704- expect ( chain . keys_detector . index_name ) . to eq ( :cityage )
702+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :city )
703+ expect ( chain . key_fields_detector . range_key ) . to eq ( :age )
704+ expect ( chain . key_fields_detector . index_name ) . to eq ( :cityage )
705705
706706 chain = Dynamoid ::Criteria ::Chain . new ( model )
707707 expect ( chain ) . to receive ( :pages_via_query ) . and_call_original
708708 expect ( chain . where ( city : 'San Francisco' , gender : 'male' ) . to_a . size ) . to eq ( 3 )
709- expect ( chain . keys_detector . hash_key ) . to eq ( :city )
710- expect ( chain . keys_detector . range_key ) . to eq ( :gender )
711- expect ( chain . keys_detector . index_name ) . to eq ( :citygender )
709+ expect ( chain . key_fields_detector . hash_key ) . to eq ( :city )
710+ expect ( chain . key_fields_detector . range_key ) . to eq ( :gender )
711+ expect ( chain . key_fields_detector . index_name ) . to eq ( :citygender )
712712 end
713713 end
714714
0 commit comments