80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/confinement.rb', line 80
def builder_getter(method_name, klass, ivar, new: [])
init_parameters = [*new, "&block"].join(", ")
class_eval(" def \#{method_name}(&block)\n if \#{ivar}\n if block_given?\n raise \"\#{method_name} is already set up\"\n end\n\n return \#{ivar}\n end\n\n if !block_given?\n raise \"Can't initialize \#{method_name} without block\"\n end\n\n \#{ivar} = \#{klass}.new(\#{init_parameters})\n \#{ivar}\n end\n RUBY\nend\n", __FILE__, __LINE__)
|