Skip to content
This repository has been archived by the owner on Jun 9, 2022. It is now read-only.

Commit

Permalink
feat(client): improve readme a little
Browse files Browse the repository at this point in the history
  • Loading branch information
Gisleburt committed Jun 12, 2020
1 parent 1081dcc commit db27373
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 31 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "beeswax"
version = "0.1.0"
version = "0.1.1"
authors = ["Daniel Mason <[email protected]>"]
edition = "2018"
description = "An easy to use CRUD client for the Beeswax API"
Expand Down
26 changes: 12 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,39 +20,37 @@ Tell the builder what the base url you'd like to connect to is, then create an A
object to send to the api to authenticate yourself.

```rust
use beeswax::{BeeswaxClient, resource::Authenticate};
use beeswax::{AsyncBeeswaxClient, resource::authenticate::Authenticate};

let user = std::env::var("BEESWAX_USER")?;
let password = std::env::var("BEESWAX_PASSWORD")?;
let url = "https://buzzkey.api.beeswax.com".to_string();

let beeswax_api = BeeswaxClient::builder(url)
let beeswax_api = AsyncBeeswaxClient::builder(url)
.auth(Authenticate::simple(user, password))
.await?;
```

You can then create, update, read and delete [resources](beeswax::resource).

```rust
use beeswax::resource::{CreateAdvertiser, ReadAdvertiser};
```
use beeswax::resource::Advertiser;
let create_advertiser = CreateAdvertiser {
advertiser_name: "Example advertiser".to_string(),
..Default::default()
};
let create_advertiser = Advertiser::create_builder()
.advertiser_name("Example advertiser")
.build();
let mut created_advertiser = beeswax_api.create(&create_advertiser).await?;
created_advertiser.active = Some(true);
created_advertiser.active = true;
let updated_advertiser = beeswax_api.update(&created_advertiser).await?;
let read_advertiser = ReadAdvertiser {
advertiser_id: Some(updated_advertiser.advertiser_id),
..Default::default()
};
let read_advertiser = Advertiser::read_builder()
.advertiser_id(updated_advertiser.advertiser_id)
.build();
let read_advertiser = beeswax_api.read(&read_advertiser).await?.pop().unwrap();
beeswax_api.delete(read_advertiser).await?;
beeswax_api.delete(&read_advertiser).await?;
```
2 changes: 1 addition & 1 deletion src/client/async_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ impl AsyncInMemoryClient {
}

pub async fn update<'a, R: Resource>(&self, resource: &'a R) -> Result<&'a R> {
unimplemented!()
Ok(resource)
}

pub async fn delete<R: Resource, D: Delete<R>>(&self, delete: &D) -> Result<()> {
Expand Down
24 changes: 10 additions & 14 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,36 +38,32 @@
//!
//! You can then create, update, read and delete [resources](beeswax::resource).
//!
//! ```no_run
//! ```
//! # use std::error::Error;
//! # #[tokio::main]
//! # async fn main() -> Result<(), Box<dyn Error>> {
//! # use beeswax::{AsyncBeeswaxClient, resource::authenticate::Authenticate};
//! use beeswax::resource::advertiser::{CreateAdvertiser, ReadAdvertiser};
//! # use beeswax::client::async_client::AsyncInMemoryClient;
//! use beeswax::resource::Advertiser;
//! #
//! # let user = std::env::var("BEESWAX_USER")?;
//! # let password = std::env::var("BEESWAX_PASSWORD")?;
//! # let url = "https://buzzkey.api.beeswax.com".to_string();
//! #
//! # let beeswax_api = AsyncBeeswaxClient::builder(url)
//! # .auth(Authenticate::simple(user, password))
//! # .await?;
//! # let mut beeswax_api = AsyncInMemoryClient::new();
//!
//! let create_advertiser = CreateAdvertiser {
//! advertiser_name: "Example advertiser".to_string(),
//! ..Default::default()
//! };
//! let create_advertiser = Advertiser::create_builder()
//! .advertiser_name("Example advertiser")
//! .build();
//!
//! let mut created_advertiser = beeswax_api.create(&create_advertiser).await?;
//!
//! created_advertiser.active = true;
//!
//! let updated_advertiser = beeswax_api.update(&created_advertiser).await?;
//!
//! let read_advertiser = ReadAdvertiser {
//! advertiser_id: Some(updated_advertiser.advertiser_id),
//! ..Default::default()
//! };
//! let read_advertiser = Advertiser::read_builder()
//! .advertiser_id(updated_advertiser.advertiser_id)
//! .build();
//!
//! let read_advertiser = beeswax_api.read(&read_advertiser).await?.pop().unwrap();
//!
Expand Down

0 comments on commit db27373

Please sign in to comment.