The web, with simplicity.
Hanami is a full-stack Ruby web framework. It's made up of smaller, single-purpose libraries.
This repository is for the full-stack framework, which provides the glue that ties all the parts together:
- Hanami::Model - Persistence with entities, repositories and data mapper
- Hanami::View - Presentation with a separation between views and templates
- Hanami::Controller - Full featured, fast and testable actions for Rack
- Hanami::Validations - Validations mixin for Ruby objects
- Hanami::Router - Rack compatible HTTP router for Ruby
- Hanami::Helpers - View helpers for Ruby applications
- Hanami::Mailer - Mail for Ruby applications
- Hanami::Assets - Assets management for Ruby
- Hanami::Utils - Ruby core extensions and class utilities
These components are designed to be used independently or together in a Hanami application.
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.
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
- Stack Overflow: http://stackoverflow.com/questions/tagged/hanami
- Forum: https://discourse.hanamirb.org
- Chat: http://chat.hanamirb.org
We strive for an inclusive and helpful community. 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
- PhantomJS
- 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
Released under MIT License.
This project was formerly known as Lotus (lotusrb
).
Copyright © 2014-2017 Luca Guidi.