pub struct GemspecParser;Expand description
Ruby .gemspec file parser.
Parses Gem::Specification.new blocks using regex-based extraction.
Handles frozen strings (Bug #1), variable version resolution (Bug #2),
and RFC 5322 email parsing (Bug #6).
Trait Implementations§
Source§impl PackageParser for GemspecParser
impl PackageParser for GemspecParser
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 GemspecParser
impl RefUnwindSafe for GemspecParser
impl Send for GemspecParser
impl Sync for GemspecParser
impl Unpin for GemspecParser
impl UnsafeUnpin for GemspecParser
impl UnwindSafe for GemspecParser
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