blob: 1cac89ed125cf99d40b557677dc3c632de2f1dad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# frozen_string_literal: true
class Pry
class Config
# Attributable provides the ability to create "attribute"
# accessors. Attribute accessors create a standard "attr_writer" and a
# customised "attr_reader". This reader is Proc-aware (lazy).
#
# @since v0.13.0
# @api private
module Attributable
def attribute(attr_name)
define_method(attr_name) do
value = Config::Value.new(instance_variable_get("@#{attr_name}"))
value.call
end
attr_writer(attr_name)
end
end
end
end
|