From 842693b3d403ff5713d87b1b413d7e64221f6eaa Mon Sep 17 00:00:00 2001 From: Bac La <100670919+labac-p@users.noreply.github.com> Date: Wed, 21 May 2025 02:28:28 +0000 Subject: [PATCH 1/3] Update Batch.read to accept a client parameter --- lib/aws-record/record/item_operations.rb | 2 +- spec/aws-record/record/item_operations_spec.rb | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/aws-record/record/item_operations.rb b/lib/aws-record/record/item_operations.rb index 78848c0..6793943 100644 --- a/lib/aws-record/record/item_operations.rb +++ b/lib/aws-record/record/item_operations.rb @@ -553,7 +553,7 @@ def find_with_opts(opts) # include all the keys defined in model. # @raise [ArgumentError] if the provided keys are a duplicate. def find_all(keys) - Aws::Record::Batch.read do |db| + Aws::Record::Batch.read(client: dynamodb_client) do |db| keys.each do |key| db.find(self, key) end diff --git a/spec/aws-record/record/item_operations_spec.rb b/spec/aws-record/record/item_operations_spec.rb index 1ed975a..ad78b66 100644 --- a/spec/aws-record/record/item_operations_spec.rb +++ b/spec/aws-record/record/item_operations_spec.rb @@ -476,9 +476,10 @@ module Record ] end - it 'passes the correct class and key arguments to BatchRead' do + it 'passes the correct client, class and key arguments to BatchRead' do + klass.configure_client(client: stub_client) mock_batch_read = double - expect(Batch).to receive(:read).and_yield(mock_batch_read).and_return(mock_batch_read) + expect(Batch).to receive(:read).with(client: klass.dynamodb_client).and_yield(mock_batch_read).and_return(mock_batch_read) keys.each do |key| expect(mock_batch_read).to receive(:find).with(klass, key) end From 99e4ba730e370cfa34c0750939b5dbeee9a9faf1 Mon Sep 17 00:00:00 2001 From: Matt Muller Date: Wed, 21 May 2025 10:34:23 -0400 Subject: [PATCH 2/3] Rubocop --- lib/aws-record/record/item_operations.rb | 4 ++-- spec/aws-record/record/item_operations_spec.rb | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/aws-record/record/item_operations.rb b/lib/aws-record/record/item_operations.rb index 6793943..ac33ba9 100644 --- a/lib/aws-record/record/item_operations.rb +++ b/lib/aws-record/record/item_operations.rb @@ -631,8 +631,8 @@ def _build_update_expression(attr_value_pairs) end end update_expressions = [] - update_expressions << ("SET #{set_expressions.join(', ')}") unless set_expressions.empty? - update_expressions << ("REMOVE #{remove_expressions.join(', ')}") unless remove_expressions.empty? + update_expressions << "SET #{set_expressions.join(', ')}" unless set_expressions.empty? + update_expressions << "REMOVE #{remove_expressions.join(', ')}" unless remove_expressions.empty? { update_expression: update_expressions.join(' '), expression_attribute_names: exp_attr_names, diff --git a/spec/aws-record/record/item_operations_spec.rb b/spec/aws-record/record/item_operations_spec.rb index ad78b66..abaead6 100644 --- a/spec/aws-record/record/item_operations_spec.rb +++ b/spec/aws-record/record/item_operations_spec.rb @@ -479,7 +479,9 @@ module Record it 'passes the correct client, class and key arguments to BatchRead' do klass.configure_client(client: stub_client) mock_batch_read = double - expect(Batch).to receive(:read).with(client: klass.dynamodb_client).and_yield(mock_batch_read).and_return(mock_batch_read) + expect(Batch).to receive(:read) + .with(client: klass.dynamodb_client) + .and_yield(mock_batch_read).and_return(mock_batch_read) keys.each do |key| expect(mock_batch_read).to receive(:find).with(klass, key) end From 877059c397ef7655c6b4f4c1591d5f06f26d57c0 Mon Sep 17 00:00:00 2001 From: Matt Muller Date: Wed, 21 May 2025 10:35:24 -0400 Subject: [PATCH 3/3] Add changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dce1516..b311895 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ Unreleased Changes ------------------ +* Issue - Use configured clients for batch reads in `find_all`. + 2.13.3 (2025-01-02) ------------------