{"body":"MacBook-Pro-de-Fernando:BestTree fernando$ cat Tree.pm6 \nuse Red;\n\nclass X::Tree::ExistsInTheSameArea is Exception {\n    has Rat $.longitude;\n    has Rat $.latitude;\n\n    method message { \"A tree on ($!longitude, $!latitude) was already suggested\" }\n}\n\nmodel Tree {\n    has UInt    $!id            is id;\n    has Rat     $.latitude      is column;\n    has Rat     $.longitude     is column;\n    has Rat     $.height        is column;\n    has Str     $.description   is column;\n\n    ::?CLASS.^add-unique-constraint: { .latitude, .longitude };\n\n    method all-trees {\n        self.^all.sort: -*.height\n    }\n\n    method find-tree(Rat $longitude, Rat $latitude) {\n        self.^find: :$longitude, :$latitude\n    }\n\n    method suggest-tree(Rat $longitude, Rat $latitude, Rat $height, Str $description) {\n        CATCH {\n            die X::Tree::ExistsInTheSameArea.new: :$longitude, :$latitude\n        }\n        self.^create: :$longitude, :$latitude, :$height, :$description\n    }\n}\nMacBook-Pro-de-Fernando:BestTree fernando$ perl6 -I../Red2/lib/ -MRed -I. -MTree -e '\n\nmy $*RED-DB = database \"SQLite\"; Tree.^create-table;\n\nTree.suggest-tree: 1.1, 2.2, 3.3, \"bla\";\nTree.suggest-tree: 1.1, 2.2, 3.4, \"ble\";\n\n'\nA tree on (1.1, 2.2) was already suggested\n  in method suggest-tree at -e line 29\n  in block <unit> at -e line 6\n\nMacBook-Pro-de-Fernando:BestTree fernando$","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/m22K8ThX","modified":1545528804,"id":"m22K8ThX","size":1361,"lines":47,"own_paste":false,"theme":"","date":1545528804}