The web, with simplicity.
Hanami combines small yet powerful frameworks:
- Hanami::Utils - Ruby core extensions and class utilities
- Hanami::Router - Rack compatible HTTP router for Ruby
- Hanami::Validations - Validations mixin for Ruby objects
- Hanami::Helpers - View helpers for Ruby applications
- Hanami::Mailer - Mail for Ruby applications
- Hanami::Model - Persistence with entities, repositories and data mapper
- Hanami::Assets - Assets management for Ruby
- Hanami::View - Presentation with a separation between views and templates
- Hanami::Controller - Full featured, fast and testable actions for Rack
These components are designed to be used independently or together in a Hanami application. If you aren't familiar with them, please take time to go through their READMEs.
You can give back to Open Source, by supporting Hanami development via a donation. 💚
- Home page: http://hanamirb.org
- Community: http://hanamirb.org/community
- Guides: http://hanamirb.org/guides
- Mailing List: http://hanamirb.org/mailing-list
- API Doc: http://rdoc.info/gems/hanami
- Bugs/Issues: https://github.com/hanami/hanami/issues
- Support: http://stackoverflow.com/questions/tagged/hanami
- Forum: https://discuss.hanamirb.org
- Chat: http://chat.hanamirb.org
Hanami supports Ruby (MRI) 2.3+
% gem install hanami
% hanami new bookshelf
% cd bookshelf && bundle
% bundle exec hanami server # visit http://localhost:2300
Please follow along with the Getting Started guide.
We strive for a Community made of inclusive, helpful and smart people. We have a Code of Conduct to handle controversial cases. In general, we expect you to be nice with other people. Our hope is for a great software and a great Community.
- Fork it ( https://github.com/hanami/hanami/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
If you want to test Hanami's HEAD to try a new feature or to test a bug fix, here's how to do:
git clone https://github.com/hanami/hanami.git
cd hanami && bundle
bundle exec hanami new --hanami-head=true bookshelf
cd bookshelf
vim Gemfile # edit with: gem 'hanami', path: '..'
bundle
- Ruby 2.3+ / JRuby 9.1.5.0+
- Bundler
- Qt (MacOS)
- Node.js (MacOS)
In order to simulate installed gems on developers' computers, the build installs
all the gems locally in vendor/cache
, including hanami
code from lib/
.
Before running a test, please make sure you have a fresh version of the code:
% ./script/setup
% bundle exec rspec spec/path/to/file_spec.rb
To run all the tests, please use:
% ./script/ci
Hanami uses Semantic Versioning 2.0.0
Copyright © 2014-2016 Luca Guidi – Released under MIT License
This project was formerly known as Lotus (lotusrb
).