pub struct MetadataBuilder { /* private fields */ }Expand description
Builder for writer metadata.
Implementations§
Source§impl MetadataBuilder
impl MetadataBuilder
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a builder with MMDB v2 defaults.
§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().build()?;
assert_eq!(metadata.ip_version, 6);Sourcepub fn database_type(self, value: impl Into<String>) -> Self
pub fn database_type(self, value: impl Into<String>) -> Self
Sets the database type identifier.
§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().database_type("Example-City").build()?;
assert_eq!(metadata.database_type, "Example-City");Sourcepub fn ip_version(self, value: u16) -> Self
pub fn ip_version(self, value: u16) -> Self
Sets the database IP version (4 or 6).
Self::build rejects any other value.
§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().ip_version(4).build()?;
assert_eq!(metadata.ip_version, 4);Sourcepub fn language(self, value: impl Into<String>) -> Self
pub fn language(self, value: impl Into<String>) -> Self
Adds one advertised language, deduplicating the list.
§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().language("fr").build()?;
assert!(metadata.languages.contains(&"fr".to_string()));Sourcepub fn languages(self, values: impl IntoIterator<Item = String>) -> Self
pub fn languages(self, values: impl IntoIterator<Item = String>) -> Self
Replaces the complete advertised-language list.
§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().languages(["fr".to_string()]).build()?;
assert_eq!(metadata.languages, vec!["fr".to_string()]);Sourcepub fn description(
self,
language: impl Into<String>,
value: impl Into<String>,
) -> Self
pub fn description( self, language: impl Into<String>, value: impl Into<String>, ) -> Self
Adds or replaces a localized database description.
§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().description("en", "Example database").build()?;
assert_eq!(metadata.description["en"], "Example database");Sourcepub fn build_epoch(self, value: u64) -> Self
pub fn build_epoch(self, value: u64) -> Self
Overrides the build epoch in seconds since Unix epoch.
§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().build_epoch(1_700_000_000).build()?;
assert_eq!(metadata.build_epoch, 1_700_000_000);Sourcepub fn build(self) -> Result<Metadata>
pub fn build(self) -> Result<Metadata>
Validates the configured fields and produces metadata.
Returns Error::InvalidIpVersion for unsupported IP versions or
Error::InvalidMetadata for an empty database type.
§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().ip_version(4).build()?;
assert_eq!(metadata.ip_version, 4);Trait Implementations§
Source§impl Clone for MetadataBuilder
impl Clone for MetadataBuilder
Source§impl Debug for MetadataBuilder
impl Debug for MetadataBuilder
Auto Trait Implementations§
impl Freeze for MetadataBuilder
impl RefUnwindSafe for MetadataBuilder
impl Send for MetadataBuilder
impl Sync for MetadataBuilder
impl Unpin for MetadataBuilder
impl UnsafeUnpin for MetadataBuilder
impl UnwindSafe for MetadataBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more