pub struct Source {
    pub title: Text,
    pub id: String,
    pub updated: FixedDateTime,
    pub authors: Vec<Person>,
    pub categories: Vec<Category>,
    pub contributors: Vec<Person>,
    pub generator: Option<Generator>,
    pub icon: Option<String>,
    pub links: Vec<Link>,
    pub logo: Option<String>,
    pub rights: Option<Text>,
    pub subtitle: Option<Text>,
}
Expand description

Represents the source of an Atom entry

Fields§

§title: Text

A human-readable title for the feed.

§id: String

A universally unique and permanent URI.

§updated: FixedDateTime

The last time the feed was modified in a significant way.

§authors: Vec<Person>

The authors of the feed.

§categories: Vec<Category>

The categories that the feed belongs to.

§contributors: Vec<Person>

The contributors to the feed.

§generator: Option<Generator>

The software used to generate the feed.

§icon: Option<String>

A small image which provides visual identification for the feed.

§links: Vec<Link>

The Web pages related to the feed.

A larger image which provides visual identification for the feed.

§rights: Option<Text>

Information about rights held in and over the feed.

§subtitle: Option<Text>

A human-readable description or subtitle for the feed.

Implementations§

source§

impl Source

source

pub fn title(&self) -> &Text

Return the title of the source feed.

Examples
use atom_syndication::Source;

let mut source = Source::default();
source.set_title("Feed Title");
assert_eq!(source.title(), "Feed Title");
source

pub fn set_title<V>(&mut self, title: V)where V: Into<Text>,

Set the title of the source feed.

Examples
use atom_syndication::Source;

let mut source = Source::default();
source.set_title("Feed Title");
source

pub fn id(&self) -> &str

Return the unique URI of the source feed.

Examples
use atom_syndication::Source;

let mut source = Source::default();
source.set_id("urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6");
assert_eq!(source.id(), "urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6");
source

pub fn set_id<V>(&mut self, id: V)where V: Into<String>,

Set the unique URI of the source feed.

Examples
use atom_syndication::Source;

let mut source = Source::default();
source.set_id("urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6");
source

pub fn updated(&self) -> &FixedDateTime

Return the last time that the source feed was modified.

Examples
use atom_syndication::Source;
use atom_syndication::FixedDateTime;
use std::str::FromStr;

let mut source = Source::default();
source.set_updated(FixedDateTime::from_str("2017-06-03T15:15:44-05:00").unwrap());
assert_eq!(source.updated().to_rfc3339(), "2017-06-03T15:15:44-05:00");
source

pub fn set_updated<V>(&mut self, updated: V)where V: Into<FixedDateTime>,

Set the last time that the source feed was modified.

Examples
use atom_syndication::Source;
use atom_syndication::FixedDateTime;
use std::str::FromStr;

let mut source = Source::default();
source.set_updated(FixedDateTime::from_str("2017-06-03T15:15:44-05:00").unwrap());
source

pub fn authors(&self) -> &[Person]

Return the authors of the source feed.

Examples
use atom_syndication::{Source, Person};

let mut source = Source::default();
source.set_authors(vec![Person::default()]);
assert_eq!(source.authors().len(), 1);
source

pub fn set_authors<V>(&mut self, authors: V)where V: Into<Vec<Person>>,

Set the authors of the source feed.

Examples
use atom_syndication::{Source, Person};

let mut source = Source::default();
source.set_authors(vec![Person::default()]);
source

pub fn categories(&self) -> &[Category]

Return the categories the source feed belongs to.

Examples
use atom_syndication::{Source, Category};

let mut source = Source::default();
source.set_categories(vec![Category::default()]);
assert_eq!(source.categories().len(), 1);
source

pub fn set_categories<V>(&mut self, categories: V)where V: Into<Vec<Category>>,

Set the categories the source feed belongs to.

Examples
use atom_syndication::{Source, Category};

let mut source = Source::default();
source.set_categories(vec![Category::default()]);
source

pub fn contributors(&self) -> &[Person]

Return the contributors to the source feed.

Examples
use atom_syndication::{Source, Person};

let mut source = Source::default();
source.set_contributors(vec![Person::default()]);
assert_eq!(source.contributors().len(), 1);
source

pub fn set_contributors<V>(&mut self, contributors: V)where V: Into<Vec<Person>>,

Set the contributors to the source feed.

Examples
use atom_syndication::{Source, Person};

let mut source = Source::default();
source.set_contributors(vec![Person::default()]);
source

pub fn generator(&self) -> Option<&Generator>

Return the name of the software used to generate the source feed.

Examples
use atom_syndication::{Source, Generator};

let mut source = Source::default();
source.set_generator(Generator::default());
assert!(source.generator().is_some());
source

pub fn set_generator<V>(&mut self, generator: V)where V: Into<Option<Generator>>,

Set the name of the software used to generate the source feed.

Examples
use atom_syndication::{Source, Generator};

let mut source = Source::default();
source.set_generator(Generator::default());
source

pub fn icon(&self) -> Option<&str>

Return the icon for the source feed.

Examples
use atom_syndication::Source;

let mut source = Source::default();
source.set_icon("http://example.com/icon.png".to_string());
assert_eq!(source.icon(), Some("http://example.com/icon.png"));
source

pub fn set_icon<V>(&mut self, icon: V)where V: Into<Option<String>>,

Set the icon for the source feed.

Examples
use atom_syndication::Source;

let mut source = Source::default();
source.set_icon("http://example.com/icon.png".to_string());

Return the Web pages related to the source feed.

Examples
use atom_syndication::{Source, Link};

let mut source = Source::default();
source.set_links(vec![Link::default()]);
assert_eq!(source.links().len(), 1);

Set the Web pages related to the source feed.

Examples
use atom_syndication::{Source, Link};

let mut source = Source::default();
source.set_links(vec![Link::default()]);

Return the logo for the source feed.

Examples
use atom_syndication::Source;

let mut source = Source::default();
source.set_logo("http://example.com/logo.png".to_string());
assert_eq!(source.logo(), Some("http://example.com/logo.png"));

Set the logo for the source feed.

Examples
use atom_syndication::Source;

let mut source = Source::default();
source.set_logo("http://example.com/logo.png".to_string());
source

pub fn rights(&self) -> Option<&Text>

Return the information about the rights held in and over the source feed.

Examples
use atom_syndication::{Source, Text};

let mut source = Source::default();
source.set_rights(Text::from("© 2017 John Doe"));
assert_eq!(source.rights().map(Text::as_str), Some("© 2017 John Doe"));
source

pub fn set_rights<V>(&mut self, rights: V)where V: Into<Option<Text>>,

Set the information about the rights held in and over the source feed.

Examples
use atom_syndication::{Source, Text};

let mut source = Source::default();
source.set_rights(Text::from("© 2017 John Doe"));
source

pub fn subtitle(&self) -> Option<&Text>

Return the description or subtitle of the source feed.

Examples
use atom_syndication::{Source, Text};

let mut source = Source::default();
source.set_subtitle(Text::from("Feed subtitle"));
assert_eq!(source.subtitle().map(Text::as_str), Some("Feed subtitle"));
source

pub fn set_subtitle<V>(&mut self, subtitle: V)where V: Into<Option<Text>>,

Set the description or subtitle of the source feed.

Examples
use atom_syndication::{Source, Text};

let mut source = Source::default();
source.set_subtitle(Text::from("Feed subtitle"));

Trait Implementations§

source§

impl Clone for Source

source§

fn clone(&self) -> Source

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Source

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Source

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl PartialEq<Source> for Source

source§

fn eq(&self, other: &Source) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for Source

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.