diff options
Diffstat (limited to 'lib/pry/config/lazy_value.rb')
-rw-r--r-- | lib/pry/config/lazy_value.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/pry/config/lazy_value.rb b/lib/pry/config/lazy_value.rb new file mode 100644 index 00000000..8c2330ac --- /dev/null +++ b/lib/pry/config/lazy_value.rb @@ -0,0 +1,27 @@ +class Pry + class Config + # LazyValue is a Proc (block) wrapper. It is meant to be used as a + # configuration value. Subsequent `#call` calls always evaluate the given + # block. + # + # @example + # num = 19 + # value = Pry::Config::LazyValue.new { num += 1 } + # value.foo # => 20 + # value.foo # => 21 + # value.foo # => 22 + # + # @api private + # @since ?.?.? + # @see Pry::Config::MemoizedValue + class LazyValue + def initialize(&block) + @block = block + end + + def call + @block.call + end + end + end +end |