From a5c961e2eae40c1f981dd279ffcacb1b11ced599 Mon Sep 17 00:00:00 2001 From: Aaron Suggs Date: Fri, 26 Jun 2015 14:47:14 -0400 Subject: [PATCH] Fix Resource#wait_until(max_attempts: nil) It now retries indefinitely, instead of defaulting to 10 attemtps. --- aws-sdk-resources/lib/aws-sdk-resources/resource.rb | 2 +- aws-sdk-resources/spec/resource_spec.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/aws-sdk-resources/lib/aws-sdk-resources/resource.rb b/aws-sdk-resources/lib/aws-sdk-resources/resource.rb index 9fadb7756db..8ce2dd7bb4c 100644 --- a/aws-sdk-resources/lib/aws-sdk-resources/resource.rb +++ b/aws-sdk-resources/lib/aws-sdk-resources/resource.rb @@ -101,7 +101,7 @@ def initialize(*args) def wait_until(options = {}, &block) resource_copy = self.dup attempts = 0 - options[:max_attempts] ||= 10 + options[:max_attempts] = 10 unless options.key?(:max_attempts) options[:delay] ||= 10 options[:poller] = Proc.new do attempts += 1 diff --git a/aws-sdk-resources/spec/resource_spec.rb b/aws-sdk-resources/spec/resource_spec.rb index 99846c1c662..fd6178b44b5 100644 --- a/aws-sdk-resources/spec/resource_spec.rb +++ b/aws-sdk-resources/spec/resource_spec.rb @@ -229,6 +229,12 @@ module Resources expect(resource.data).to be(data) end + it 'allows unlimited attempts' do + attempts = 0 + resource.wait_until(max_attempts:nil, delay:0) { (attempts += 1) == 12 } + expect(attempts).to be(12) + end + it 'reloads until condition met' do allow(proc).to receive(:call).and_return(false,false, true) expect(load_operation).to receive(:call).exactly(2).times