Brannigan
view release on metacpan or search on metacpan
params => {
name => { required => 1, length_between => [2, 50] },
email => { required => 1 },
},
};
my $user_update_schema = {
inherits_from => 'base_user',
params => {
name => { required => 0 }, # Override: name no longer required for updates
last_login => { required => 0 }, # Add new field
},
};
$b->register_schema('base_user', $base_schema);
$b->register_schema('user_update', $user_update_schema);
```
## Documentation
Run `perldoc Brannigan` after installation for the complete documentation.
## Development
### Running Tests
```bash
# Run all tests
prove -l t/
# Run specific test files
perl -Ilib t/01-validations.t
perl -Ilib t/07-complex-structures.t
```
### Building Distribution
```bash
perl Makefile.PL
make dist
```
### Releasing to CPAN
Use the included release script:
```bash
./release.sh
```
This will:
1. Run all tests
2. Create the distribution tarball
3. Provide instructions for CPAN upload
For CPAN upload, you'll need:
- A PAUSE account (https://pause.perl.org/)
- CPAN::Uploader installed (`cpanm CPAN::Uploader`)
- PAUSE credentials in `~/.pause`
## Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes with tests
4. Ensure all tests pass: `prove -l t/`
5. Submit a pull request
## License
Licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) file for details.
## Links
- **GitHub**: https://github.com/ido50/Brannigan
- **Issues**: https://github.com/ido50/Brannigan/issues
- **CPAN**: https://metacpan.org/pod/Brannigan
( run in 2.221 seconds using v1.01-cache-2.11-cpan-cdf2f3d4e48 )