No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
t
.travis.yml
META6.json
README.md

README.md

Build Status

Potocol

Description

The idea here is to have a "set of methods". So, you can test a class based on that set of methods. But different from roles with stubed methods it doesn't need do be "doesed" to be matched. It does create a subset but using a different syntax, and will check the methods.

Synopsis

use Protocol;

protocol Writer {
    method write { ... }
}

multi write(Writer $w) {
    $w.write
}

multi write($data) {
    say $data
}

class JustAGreeter {            # no roles, parents nor protocols declared on the class
    method write {              # it has the write method, so it attends to the protocol
        say "Hello protocol!"
    }
}

write JustAGreeter.new;         # prints: Hello protocol!