Giter VIP home page Giter VIP logo

hanami-bookshelf-rom's Introduction

Bookshelf Hanami app using rom-rb standalone

This is the bookshelf hanami application based on the official Getting Started guide with the following tweaks:

  • hanami-model was replaced with a standalone rom-rb setup
  • entities are under Bookshelf::Entities namespace
  • repositories are under Bookshelf::Repositories namespace
  • repository instances can be accessed through a convenient method, ie Bookshelf::Repositories[:Book]
  • DELETE /books/:id was also implemented

rom-rb setup

The entire rom-rb configuration is handled by config/initializers/rom.rb which defines Bookshelf::Persistence module which exposes the following global methods:

  • Bookshelf::Persistence.db returns a configured ROM::Container
  • Bookshelf::Persistence.relations relation registry (mostly useful in tests)
  • Bookshelf::Persistence.configuration return ROM::Configuration that can be useful in rake tasks or scripts that need db connection without the whole ROM::Container

You can tweak this initializer if you need to access more databases, need extra plugins to be enabled etc.

Setup

How to run tests:

% bundle exec rake

How to run the development console:

% bundle exec hanami console

How to run the development server:

% bundle exec hanami server

How to prepare (create and migrate) DB for development and test environments:

% bundle exec rake db:migrate

% HANAMI_ENV=test bundle exec rake db:migrate

Learn more about Hanami

Explore Hanami guides, API docs, or jump in chat for help. Enjoy! ๐ŸŒธ

hanami-bookshelf-rom's People

Contributors

flemon avatar solnic avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.