module AusPostAPI

The AusPostAPI module is the top level name space for the gem.

The Endpoint class is an abstract class that sets attributes and handles the execution of API endoint calls.

It requires two instance methods to be defined.

* `uri` - returns a valid uri string that represents the full api path
* `headers` - returns a hash of key value pairs for the request

The attributes module adds class level methods for specifying the attributes of the API call.

* `required_attributes`
* `optional_attributes`

The UriHandler class is wrapper around a http technology. It takes a uri and a hash of header key values pairs and makes a http request.