From 72a17c5b246a1e2ac1871ded978979c370c4fa55 Mon Sep 17 00:00:00 2001 From: r-obert Date: Fri, 23 Jun 2017 17:42:04 +0100 Subject: [PATCH] last_default might not be a Pry::Config::Memoized --- lib/pry/config/behavior.rb | 1 + spec/config/behavior_spec.rb | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/pry/config/behavior.rb b/lib/pry/config/behavior.rb index 5f86ce92..12c0c934 100644 --- a/lib/pry/config/behavior.rb +++ b/lib/pry/config/behavior.rb @@ -142,6 +142,7 @@ module Pry::Config::Behavior def eager_load! local_last_default = last_default + return if ! local_last_default.respond_to?(:memoized_methods) local_last_default.memoized_methods.each do |key| self[key] = local_last_default.public_send(key) end diff --git a/spec/config/behavior_spec.rb b/spec/config/behavior_spec.rb index 5f62991f..a6d46c8e 100644 --- a/spec/config/behavior_spec.rb +++ b/spec/config/behavior_spec.rb @@ -5,12 +5,18 @@ RSpec.describe Pry::Config::Behavior do include Pry::Config::Behavior end end - + describe "#last_default" do - it "returns the last default in a list of defaults" do + it "returns the last default" do last = behavior.from_hash({}, nil) middle = behavior.from_hash({}, last) expect(behavior.from_hash({}, middle).last_default).to be(last) end end + + describe "#eager_load!" do + it "returns nil when the default is nil" do + expect(behavior.from_hash({}, nil).eager_load!).to be(nil) + end + end end