https://github.com/aaronc81/faith
A powerful, versatile Ruby task runner
https://github.com/aaronc81/faith
Last synced: 10 months ago
JSON representation
A powerful, versatile Ruby task runner
- Host: GitHub
- URL: https://github.com/aaronc81/faith
- Owner: AaronC81
- License: mit
- Created: 2020-10-04T21:32:39.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-10-04T21:32:54.000Z (over 5 years ago)
- Last Synced: 2025-03-06T15:17:08.306Z (10 months ago)
- Language: Ruby
- Size: 13.7 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Faith
**This is a work in progress. Tasks can't be run from a CLI yet, and many
features are unimplemented.**
Faith is an **powerful and extremely versatile task runner**. Using a lovely
Ruby DSL, you can:
- Define named tasks
- Can be invoked with arguments and options*
- Assign dependencies between tasks
- Group tasks together into sensible and organised namespaces
- Build sequences of tasks which run in order
- Can either exit or continue if one task fails*
- Create parallel groups of tasks*
- Add mixins, which wrap tasks to enhance their environment by running _before_
and _after_ tasks
\* - Not yet implemented
## DSL Example
```ruby
# A very simple, not-real-world example
# Create two mixins, which can provide `number` to a task
mixin 'a' do
before do
provide number: 5
end
end
mixin 'b' do
before do
provide number: 4
end
end
# Now, create an executable task which uses those provided values
task 'example', mixins: ['a', 'b'] do
puts mixins['a'].number * mixins['b'].number # => 20
end
```
## Use Case
Faith should make a great starting point for building your own bespoke testing
framework, or if you feel like you're outgrowing Rake.
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'faith'
```
And then execute:
$ bundle install
Or install it yourself as:
$ gem install faith
## Name
Named after [Faith Connors](https://en.wikipedia.org/wiki/Faith_Connors), a
**runner** from the _Mirror's Edge_ video games.
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/AaronC81/faith.
## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).