pub struct GemArchiveParser;Expand description
Parser for .gem archive files.
Extracts metadata from Ruby .gem packages, which are tar archives
containing a gzip-compressed YAML metadata file (metadata.gz).
Includes safety checks against zip bombs and oversized archives.
Trait Implementations§
Source§impl PackageParser for GemArchiveParser
impl PackageParser for GemArchiveParser
Source§const PACKAGE_TYPE: PackageType = PACKAGE_TYPE
const PACKAGE_TYPE: PackageType = PACKAGE_TYPE
Package URL type identifier for this parser (e.g., PackageType::Npm, PackageType::Pypi).
Source§fn extract_packages(path: &Path) -> Vec<PackageData>
fn extract_packages(path: &Path) -> Vec<PackageData>
Extracts all packages from the given file path. Read more
Source§fn is_match(path: &Path) -> bool
fn is_match(path: &Path) -> bool
Checks if the given file path matches this parser’s expected format. Read more
Source§fn extract_first_package(path: &Path) -> PackageData
fn extract_first_package(path: &Path) -> PackageData
Returns the first package from
extract_packages(),
or a default PackageData if the file contains no packages.Auto Trait Implementations§
impl Freeze for GemArchiveParser
impl RefUnwindSafe for GemArchiveParser
impl Send for GemArchiveParser
impl Sync for GemArchiveParser
impl Unpin for GemArchiveParser
impl UnsafeUnpin for GemArchiveParser
impl UnwindSafe for GemArchiveParser
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more