[][src]Struct dishub::ops::Event

pub struct Event {
    pub created_at: DateTime<FixedOffset>,
    pub actor: String,
    pub repo: String,
    pub id: u64,
    pub payload: EventPayload,
}

A representation of the GitHub Event API's event.

Fields

The time this event was generated.

Corresponds to created_at in the event JSON.

The person who triggered the event.

Corresponds to actor.display_login in the event JSON.

The repository slug where the event is triggered.

Corresponds to repo.name in the event JSON.

The event ID.

Corresponds to id in the event JSON (except it's a string there).

The event's payload.

Corresponds to payload in the event JSON, determined by type.

Methods

impl Event
[src]

Parse a raw JSON GitHub Events API response.

The JSON is not checked for correctness, so be wary.

Examples

// Shaved to minimum for brevity
let response = r#"[
                    {
                      "id": "4831774905",
                      "type": "WatchEvent",
                      "actor": {
                        "display_login": "carllhw"
                      },
                      "repo": {
                        "name": "nabijaczleweli/cargo-update"
                      },
                      "payload": {
                        "action": "started"
                      },
                      "created_at": "2016-11-08T03:10:26Z"
                    },
                    {
                      "id": "4831775201",
                      "type": "WatchEvent",
                      "actor": {
                        "display_login": "Byron-TW"
                      },
                      "repo": {
                        "name": "nabijaczleweli/cargo-update"
                      },
                      "payload": {
                        "action": "started"
                      },
                      "created_at": "2016-11-09T06:12:26Z"
                    }
                  ]"#;
assert_eq!(Event::parse(response), vec![
           Event {
               created_at: DateTime::parse_from_rfc2822("Tue, 8 Nov 2016 03:10:26 +0000").unwrap(),
               actor: "carllhw".to_string(),
               repo: "nabijaczleweli/cargo-update".to_string(),
               id: 4831774905,
               payload: EventPayload::Watch {
                   action: "started".to_string(),
               },
           },
           Event {
               created_at: DateTime::parse_from_rfc2822("Wed, 9 Nov 2016 06:12:26 +0000").unwrap(),
               actor: "Byron-TW".to_string(),
               repo: "nabijaczleweli/cargo-update".to_string(),
               id: 4831775201,
               payload: EventPayload::Watch {
                   action: "started".to_string(),
               },
           }
       ]);

Get the reference URLs for an event.

Examples

// Shaved to minimum for brevity
let response = r#"[{
                    "id": "4831774905",
                    "type": "WatchEvent",
                    "actor": { "display_login": "carllhw" },
                    "repo": { "name": "nabijaczleweli/cargo-update" },
                    "payload": { "action": "started" },
                    "created_at": "2016-11-08T03:10:26Z"
                  }]"#;
assert_eq!(Event::parse(response)[0].urls(),
           vec!["https://github.com/nabijaczleweli/cargo-update/stargazers".to_string()]);

Trait Implementations

impl Clone for Event
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Eq for Event
[src]

impl PartialEq<Event> for Event
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Hash for Event
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

impl Display for Event
[src]

Formats the value using the given formatter. Read more

impl Debug for Event
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl Send for Event

impl Sync for Event

Blanket Implementations

impl<T> From for T
[src]

Performs the conversion.

impl<T, U> Into for T where
    U: From<T>, 
[src]

Performs the conversion.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

Converts the given value to a String. Read more

impl<T> ToOwned for T where
    T: Clone
[src]

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Borrow for T where
    T: ?Sized
[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut for T where
    T: ?Sized
[src]

Mutably borrows from an owned value. Read more

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

🔬 This is a nightly-only experimental API. (get_type_id)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

impl<T> Typeable for T where
    T: Any
[src]

Get the TypeId of this object.