[][src]Function tweetr::ops::start_daemon::find_user_index_for_tweet

pub fn find_user_index_for_tweet(
    tweet: &QueuedTweet,
    users: &Vec<User>
) -> Result<usize, Outcome>

Try to get the index of the user to post the given tweet.

This will fail iff there's no suitable user.

The returned index guaranteed to be valid.

Examples

Finding a non-existant user:

let now = Local::now();
let now = now.with_timezone(now.offset());

let tweet = QueuedTweet {
    author: "nabijaczleweli".to_string(),
    time: now,
    content: "dummy".to_string(),
    time_posted: None,
    id: None,
};

assert!(start_daemon::find_user_index_for_tweet(&tweet, &vec![]).is_err());
assert!(start_daemon::find_user_index_for_tweet(&tweet, &vec![User {
    name: "danerangLP".to_string(),
    id: 0x4208142311,
    access_token_key: "key".to_string(),
    access_token_secret: "secret".to_string(),
}]).is_err());

Finding am existing user:

let now = Local::now();
let now = now.with_timezone(now.offset());

assert_eq!(start_daemon::find_user_index_for_tweet(&QueuedTweet {
    author: "danerangLP".to_string(),
    time: now,
    content: "dummy".to_string(),
    time_posted: None,
    id: None,
}, &vec![User {
    name: "danerangLP".to_string(),
    id: 0x4208142311,
    access_token_key: "key".to_string(),
    access_token_secret: "secret".to_string(),
}]), Ok(0));