pub trait Rule: RuleConfiguration + Debug {
// Required method
fn process(
&self,
block: &mut Block,
context: &Context<'_, '_, '_>,
) -> RuleProcessResult;
// Provided method
fn require_content(
&self,
_current_source: &Path,
_current_block: &Block,
) -> Vec<PathBuf> { ... }
}
Expand description
Defines an interface for rules that can transform Lua blocks.
Rules implement this trait to define how they process blocks and how their configuration can be serialized and deserialized.
Required Methods§
Sourcefn process(
&self,
block: &mut Block,
context: &Context<'_, '_, '_>,
) -> RuleProcessResult
fn process( &self, block: &mut Block, context: &Context<'_, '_, '_>, ) -> RuleProcessResult
Processes the given block to apply the rule’s transformation.
Returns Ok(())
if the transformation was successful, or an error message if it failed.
Provided Methods§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Box<dyn Rule>
impl<'de> Deserialize<'de> for Box<dyn Rule>
Source§fn deserialize<D: Deserializer<'de>>(
deserializer: D,
) -> Result<Box<dyn Rule>, D::Error>
fn deserialize<D: Deserializer<'de>>( deserializer: D, ) -> Result<Box<dyn Rule>, D::Error>
Deserialize this value from the given Serde deserializer. Read more