SteeringLoader

Struct SteeringLoader 

Source
pub struct SteeringLoader;
Expand description

Loads and merges steering documents

Implementations§

Source§

impl SteeringLoader

Source

pub fn load(path: &Path) -> Result<Steering, SpecError>

Load steering from a directory

Searches for YAML and Markdown files in the directory and loads them. Returns a merged Steering document with all rules, standards, and templates.

§Arguments
  • path - Directory path to search for steering files
§Returns
  • Ok(Steering) - Merged steering document
  • Err(SpecError) - If loading or parsing fails
Source

pub fn merge( global: &Steering, project: &Steering, ) -> Result<Steering, SpecError>

Merge global and project steering

Project steering takes precedence over global steering. Rules, standards, and templates are merged with project items overriding global items when they have the same ID.

§Arguments
  • global - Global steering document
  • project - Project steering document
§Returns
  • Ok(Steering) - Merged steering document with project taking precedence
  • Err(SpecError) - If merge fails
Source

pub fn validate(steering: &Steering) -> Result<(), SpecError>

Validate steering syntax and semantics

Checks that:

  • All rule IDs are unique
  • All standard IDs are unique
  • All template IDs are unique
  • Rules have non-empty descriptions and patterns
  • Standards have non-empty descriptions
  • Templates have non-empty paths
§Arguments
  • steering - Steering document to validate
§Returns
  • Ok(()) - If steering is valid
  • Err(SpecError) - If validation fails

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more