____ _ __ _____ __ _ __
/ __ \____ _(_) /____ / ___// /____ _________ (_)___/ /____
/ /_/ / __ `/ / / ___/ \__ \/ __/ _ \/ ___/ __ \/ / __ / ___/
/ _, _/ /_/ / / (__ ) ___/ / /_/ __/ / / /_/ / / /_/ (__ )
/_/ |_|\__,_/_/_/____/ /____/\__/\___/_/ \____/_/\__,_/____/
RailsSteroids
Any small idea evolves when it actually starts taking shape. But most of the time, when we think of developing an idea as a POC or hobby project, we end up spending more time in setting up the project and lose the momentum. And you must have realised that many tasks that we do with a new project from scratch are quite repetitive.
Rails templates and other templating gems are a way of quickly generating an application but when it comes to adding some features in an already generated application then we need some way to do that. We have certain inbuilt generators which can be used for basic components but they need more coding over it. Also remembering options is a also a task or you will have to go through documentation to select options to be provided to generators.
So here are steroids for your application, which are actually generators with special powers. This gem contains different steroids which will run generators interactively help you choose options and so you will not have to remember them. Going forward the gem will also contain steroids which will setup commonly used features and functionalities from gems very quickly and reduce your coding work so that you can focus on your precious idea. Using these steroids is also very good for those who are learning Rails newly as you get to use generators interactively
Installation
You can add this line to your application's Gemfile:
gem 'rails_steroids', group: :development
And then execute:
bundle install
Or the best way is to install the gem by executing:
gem install rails_steroids
Usage
You can use the gem from command line using gem's CLI.
You can check the list of available steroids using command:
rails_steroids list
You can inject the steroid into your application using command like:
rails_steroids inject steroid:STEROID_NAME
and then enjoy easily entering or selecting options interactively to the questions asked on terminal.
Available Steroids
Functionality | Command |
---|---|
migration | rails_steroids inject steroid:migration |
model | rails_steroids inject steroid:model |
controller | rails_steroids inject steroid:controller |
new_project | rails_steroids inject steroid:new_project |
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
How to develop a new steroid recipe?
The gem comes with a handy tool to scaffold a new steroid.
You can run bin/rails_steroids prepare STEROID_NAME
This will create a new directory STEROID_NAME
inside lib/generators/steroid
containing empty templates
directory, a STEROID_NAME_generator.rb
and a USAGE
file.
It will also make an entry into README.md
and array in list method.
To install this gem onto your local machine, run bundle exec rake install
.
To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and the created tag, and push the .gem
file to rubygems.org.
Contributing
Bug reports, feature requests and pull requests are welcome on GitHub at https://github.com/anandbait/rails_steroids. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
Changelog
RailsSteroids is evolving with the time and awesome contributions. You can find the evolution changelog here
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the RailsSteroids project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.