[−][src]Struct merge_yaml_hash::MergeYamlHash
YAML Hash with merge/update capabilities
Wrapper around yaml_rust::yaml::Hash
, which is a type alias for
linked_hash_map::LinkedHashMap
Fields
data: Hash
Methods
impl MergeYamlHash
[src]
pub fn new() -> MergeYamlHash
[src]
Create a new/empty hash
use merge_yaml_hash::MergeYamlHash; let mut hash = MergeYamlHash::new(); assert_eq!(format!("{:?}", hash), "MergeYamlHash { data: {} }"); assert_eq!(format!("{:#?}", hash), "MergeYamlHash {\n data: {},\n}");
pub fn merge(&mut self, file_or_str: &str)
[src]
Merge YAML file or string
use merge_yaml_hash::MergeYamlHash; let mut hash = MergeYamlHash::new(); hash.merge("tests/a.yaml"); assert_eq!(hash.to_string(), "apple: 1\nbanana: 2");
use merge_yaml_hash::MergeYamlHash; let mut hash = MergeYamlHash::new(); let yaml = "apple: 1\nbanana: 2".to_string(); hash.merge(&yaml); assert_eq!(hash.to_string(), yaml);
pub fn merge_vec(&mut self, files_or_strings: Vec<String>)
[src]
Merge multiple YAML files or strings in order
No conflicts:
use merge_yaml_hash::MergeYamlHash; let mut hash = MergeYamlHash::new(); let yaml1 = "apple: 1\nbanana: 2".to_string(); let yaml2 = "cherry: 3".to_string(); let result = "apple: 1\nbanana: 2\ncherry: 3"; hash.merge_vec(vec![yaml1, yaml2]); assert_eq!(hash.to_string(), result);
With conflict; value in yaml2.banana
simply overrides the value in
yaml1.banana
:
use merge_yaml_hash::MergeYamlHash; let mut hash = MergeYamlHash::new(); let yaml1 = "apple: 1\nbanana: 2".to_string(); let yaml2 = "banana: 3".to_string(); let result = "apple: 1\nbanana: 3"; hash.merge_vec(vec![yaml1, yaml2]); assert_eq!(hash.to_string(), result);
Trait Implementations
impl Display for MergeYamlHash
[src]
impl Debug for MergeYamlHash
[src]
Auto Trait Implementations
impl Send for MergeYamlHash
impl Sync for MergeYamlHash
impl Unpin for MergeYamlHash
impl UnwindSafe for MergeYamlHash
impl RefUnwindSafe for MergeYamlHash
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,