activityrust 0.1.0

ActivityRust is an implementation of the ActivityStream specifications
Documentation
# ActivityRust

## What is ActivityRust ?
ActivityRust is a crate that allows a user to manage the structures used by common implementations of the ActivityPub protocol. In order to do so, it tries to be compilant with:
 * The ActivityStream Vocabulary, as defined [here]https://www.w3.org/TR/activitystreams-vocabulary/
 * The ActivityPub extensions, as defined [here]https://www.w3.org/TR/activitypub/
 * Parts of the W3ID Security extension, as defined [here]https://w3id.org/
 * The WebFinger schema
ActivityRust allows creation and edition of these structures, but can also serialize and deserialize them to json.

## How to use ActivityRust ?

### Creating an ActivityStream entity

```rust
extern crate activityrust;
// Import the required traits
use activityrust::traits::properties::*;

use activityrust::entities::actortypes::ActivityStreamPerson;
use url::Url;

fn main() {

  let mut activity = ActivityStreamPerson::create();
  let activity_url = Url::parse("http://test.test").unwrap();
  activity.set_id(activity_url);

}
```
As ActivityStream, ActivityRust supports setting null values for properties. In practice, it means that you can do this:
```rust
  activity.set_summary::<String, Option<String>>(None);
```

### Deserializing an ActivityStream entity

ActivityRust supports the `serde` module, and all entities can be deserialized to their proper types and serialized to JSON.