Ares is a toolkit for Rails developers that makes creating new apps with complex functionality from the get go super easy.
Ares is built of Yehuda Katz's awesome Rake like utility, Thor.
Ares makes making Rails apps super easy, it does this by doing most of the boring stuff for you.
- Creates your Rails app.
- Initializes a Git repository and initial commit.
- Adds a .gitignore file.
- Removes the default Rails files (index.html, etc)
- Installs jQuery and removes Prototype as the default javascript framework (with jQuery rails.js)
- Sets up the testing frameworks of your choice (Cucumber, RSpec, etc) and configures.
- Sets up a remote GitHub repository and pushes to origin master.
- Sets up Pivotal Tracker support with Pickler.
- Sets up Capistrano deployment recipes and tasks.
- Sets up home controller.
- Sets up User authentication.
All with clean commits between each step if you ever change your mind!
As Ares is a set of Thor tasks, you will have to have the Thor gem installed to use Ares.
gem install thor
As Thor allows the install of tasks, to be able to use Ares anywhere you should install it. You can install Ares by running:
thor install https://github.com/infinityrobot/ares/raw/master/ares.thor
Now no matter which directory you are in, you will be able to use Ares.
Creating a new Rails app with Ares is super easy, just run thor ares:new and follow the prompts!
The full list of Ares commands:
- ares:new
- ares:default_files
- ares:jquery
- ares:testing
- ares:github
- ares:rename
In order to do what Ares does there is a number of tools that are used:
- Thor: The scripting framework Ares is built on
- Devise: Devise gem for user authentication.
- OmniAuth: OmniAuth gem for external authentications.
- Cucumber: Cucumber for integration testing.
- RSpec: RSpec for unit testing.
- Machinist & Faker: For populating test database with seed data.
- Fakeweb: Blocks HTTP requests during tests (great for stubbing out Google Maps requests in tests!)
- email_spec: Allows testing of emails in Cucumber.
- jquery-rails: The gem used to install jQuery as the default javascript framework.
- Markdown: Markdown for this README.
Thanks a million to all of the developers that have worked on these tools and made them what they are, I would not survive without them!
Want to start developing your own Thor tasks? Here are some awesome links which helped me a heap.