{"body":"\thas Set $.dirty-columns .= new;\n\n\tmethod !set-dirty(Str $attr) {\n\t\t$!dirty-columns ∪= $attr\n\t}\n\n\tmethod COMPOSE(::?CLASS:U:) {\n\t\tfor ::?CLASS!attr-columns -> $attr {\n\t\t\tmy $attr-name = $attr.name.substr(2);\n\t\t\twith ::?CLASS.^find_method($attr-name) {\n\t\t\t\t.wrap: method (::?CLASS:D \\SELF:) is rw {\n\t\t\t\t\tsay \"a wrap layer\";\n\t\t\t\t\tmy $value := callsame;\n\t\t\t\t\tProxy.new:\n\t\t\t\t\t\tFETCH => method () {$value},\n\t\t\t\t\t\tSTORE => method ($val) {\n\t\t\t\t\t\t\tSELF!set-dirty: $attr-name;\n\t\t\t\t\t\t\t$value = $val\n\t\t\t\t\t\t},\n\t\t\t\t\t;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tnextsame\n\t}","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/2Obs54h6","modified":1485734511,"id":"2Obs54h6","size":535,"lines":25,"own_paste":false,"theme":"","date":1485734511}