Project

dobro

0.0
No commit activity in last 3 years
No release in over 3 years
A Rails Engine that provides a simple yet effective interface, perfect for admin management.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.0.0
~> 0.3.1
~> 2.6.1
~> 1.3.4

Runtime

 Project Readme

Dobro

Installation

First things first, get the gem in your Gemfile:

gem 'dobro', '~> 0.1.0'

Then, decide where you want it amongst your routes:

# in your config/routes.rb
dobro_for :articles, :pages, :users

If you want a central dobro page (which defaults to the index page for the first resource that you’re using with Dobro), just point a path to dobro/application#index:

# in your config/routes.rb
match '/dobro' => 'dobro/application#index'

And finally, make sure you add an identifier method to the models you’ve marked as Dobro resources. This may be the name, email address, or title. Best to make it something unique.

def identifier
  name
end

Bundle and restart your server, and you’re good to go. If you’ve provided a dobro index page (as covered above), then you can head straight to http://localhost:3000/dobro.

Before you get too carried away though, you’ll almost certainly want to edit the views so the forms have only the fields you’d like. Keep reading for details on that.

Usage

Customising the _form.html.erb and _show.html.erb partials for each of your resources is highly recommended. You can also add a _dashboard.html.erb, which will show up on resource indices.

It’s not recommended, but you’re also welcome to customise the views. Just put your versions in app/views/dobro, broken down by resources. For example, a custom edit view for users would end up in app/views/dobro/users/edit.html.erb.

The standard set of views for Dobro includes:

  • index
  • show
  • new
  • edit
  • delete

And perhaps you want to add custom controllers into the mix? That’s easy too. For the relevant resources, just give them their own dobro_for call, and specify the custom controller:

dobro_for :pages, :controller => 'pages'

You can also add additional routes just like a standard resources call:

dobro_for :pages, :controller => 'pages' do
  member { put :approve }
end

Compatibility

Developed for Rails 3.1 and Ruby 1.9. It will work on other Rubies, but not older versions of Rails.

Developing

Contributions are very much welcome – but keep in mind the following:

  • Keep patches in a separate branch
  • Don’t mess with the version or history file. We’ll take care of that when the patch is merged in.
  • Write tests – look at the existing tests (particularly in spec/acceptance) for examples and guidance.

Credits

Copyright © 2011 Hyper Tiny. The bulk of the work has been done by Brian Flanagan, Paul Campbell and Pat Allan, and the code is released under the open MIT Licence.