Expand description
Procedural macros for the Ferro framework
This crate provides compile-time validated macros for:
- Inertia.js responses with component validation
- Named route redirects with route validation
- Service auto-registration
- Handler attribute for controller methods
- FormRequest for validated request data
- Jest-like testing with describe! and test! macros
Macros§
- describe
- Group related tests with a descriptive name
- inertia_
response - Create an Inertia response with compile-time component validation
- redirect
- Create a redirect to a path or named route
- test
- Define an individual test case with a descriptive name
Attribute Macros§
- domain_
error - Define a domain error with automatic HTTP response conversion
- ferro_
test - Attribute macro for database-enabled tests
- handler
- Attribute macro for controller handler methods
- injectable
- Attribute macro to auto-register a concrete type as a singleton
- request
- Attribute macro for clean request data definition
- service
- Mark a trait as a service for the App container
Derive Macros§
- ApiResource
- Derive macro for generating
Resourcetrait implementation from struct annotations - Ferro
Model - Derive macro for reducing SeaORM model boilerplate
- Form
Request - Derive macro for FormRequest trait
- Inertia
Props - Derive macro for generating
Serializeimplementation for Inertia props - Validate
Rules - Derive macro for declarative struct validation using Ferro’s rules