diff --git a/README.md b/README.md index 2c25e6b..23d1e63 100644 --- a/README.md +++ b/README.md @@ -4,33 +4,24 @@ Rust based library for interacting with the Github API. This is just a practice ## Examples -### Get a user +### Get User Information & Repositories This request will return a single `github::users::User` struct. ```rust -extern crate "rust-github" as github; - -use github::Github; +extern crate rust_github; +use rust_github::Github; fn main() { let github = Github::new(); - let user = github.users.get("octocat"); + let user = github.users.get("sriharshakappala"); + let repositories = github.repositories.by_user("octocat"); println!("Name: {:?}", user.name); println!("Email: {:?}", user.email); println!("Location: {:?}", user.location); -} -``` - -### Get all repositories by user - -Get a list of repositories by user, exposes a `Vec`. - -```rust -let github = Github::new(); -let repositories = github.repositories.by_user("octocat"); -for repo in repositories.iter() { - println!("{:?}", repo.name); + for repo in repositories.iter() { + println!("{:?}", repo.name); + } } ``` diff --git a/src/client.rs b/src/client.rs index fc0bf03..40c94da 100644 --- a/src/client.rs +++ b/src/client.rs @@ -3,7 +3,7 @@ extern crate curl; use std::str; use curl::http; -#[derive(Copy)] +#[derive(Copy,Clone)] pub struct Client; impl Client { diff --git a/src/lib.rs b/src/lib.rs index be7d3d0..56d0b2e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,8 +1,7 @@ -#![crate_name = "rust-github"] +#![crate_name = "rust_github"] #![crate_type = "rlib"] -#![feature(core)] extern crate curl; -extern crate "rustc-serialize" as rustc_serialize; +extern crate rustc_serialize; use client::Client; use users::UserService; @@ -16,7 +15,7 @@ pub struct Github { impl Github { pub fn new() -> Github { let client = Client; - Github { + Github { users: UserService::new(client), repositories: RepositoryService::new(client), } diff --git a/src/repositories.rs b/src/repositories.rs index 373366b..826ec46 100644 --- a/src/repositories.rs +++ b/src/repositories.rs @@ -18,9 +18,9 @@ impl RepositoryService { url.push_str(username); url.push_str("/repos"); - let req = self.client.request(url.as_slice()); + let req = self.client.request(url.as_ref()); - let repos: Vec = json::decode(req.as_slice()).unwrap(); + let repos: Vec = json::decode(req.as_ref()).unwrap(); return repos; } diff --git a/src/users.rs b/src/users.rs index 8a9cc41..b05c807 100644 --- a/src/users.rs +++ b/src/users.rs @@ -17,9 +17,9 @@ impl UserService { let mut url = "https://api.github.com/users/".to_string(); url.push_str(name); - let req = self.client.request(url.as_slice()); + let req = self.client.request(url.as_ref()); - let user: User = json::decode(req.as_slice()).unwrap(); + let user: User = json::decode(req.as_ref()).unwrap(); return user; }