Snuze core classes
Namespace
The classes described here are in the \snuze namespace.
Snuze core class overview
The Snuze "core" classes are those that aren't part of a more specific component.
Most classes in the Snuze package share the SnuzeObject class as a common
ancestor. This design is a little odd, but it serves to automatically give each
object an internal unique ID, a standard way of identifying itself, and direct
access to several logging methods.
The SnuzeObject class
The \snuze\SnuzeObject class is the ultimate ancestor of most objects in the
Snuze package. It provides some debugging scaffolding, as described above. With
the exception of SnuzeFactory, the other classes described
in this section extend SnuzeObject.
The AuthenticationState class
The \snuze\AuthenticationState class holds information about the current
authenticated session with the API server. This includes the Reddit account
credentials, an AccessToken object, and a RateLimitBucket
to track the status of the API's rate limit mechanism.
The RateLimitBucket class
The \snuze\RateLimitBucket class keeps track of the state of Reddit's rate
limiter. The Reddit API allows users to make a certain number of requests in
a given 10-minute period. When a request is made to the API, the response headers
indicate how many requests remain in the current time slice, and when the bucket
will be refilled.
The RequestSender class
The \snuze\RequestSender class is responsible for transmitting a given
Request to Reddit's API server,
updating the RateLimitBucket, and returning the server's
JSON response to the caller.
The Snuze class
The \snuze\Snuze class is the public interface to Snuze. This is the object
your script will create and interact with. See Using Snuze
for a look at its methods and how to use them.
The SnuzeFactory class
The \snuze\SnuzeFactory class is responsible for accepting and validating an
array of configuration parameters, setting up the environment, then building
and returning a Snuze object. See Getting Started
for an example of using SnuzeFactory to get a Snuze instance.