Project

bowtie

0.03
No commit activity in last 3 years
No release in over 3 years
Simple admin scaffold for MongoMapper and DataMapper models.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 0.9.4
 Project Readme

Bowtie: Simple admin scaffold for your MongoMapper & DataMapper models

Bowtie reads the information on your models and creates a nice panel in which you can view, edit and destroy records easily.

How does it look?

Glad you asked:

Bowtie!

Installation

Include it in your Gemfile and update your bundle:

source 'rubygems.org'
..
gem 'bowtie'

Or install it by hand:

$ (sudo) gem install bowtie

Configuration

Sinatra

Mount Bowtie wherever you want by editing your config.ru file, after loading your models. You can optionally include the admin/pass combination for the panel.

require 'my_app' # models are loaded
require 'bowtie'

map "/admin" do
  BOWTIE_AUTH = {:user => 'admin', :pass => '12345'}
  run Bowtie::Admin
end

map '/' do
  run MyApp
end

Rails 3

Mount Bowtie in your config/routes.rb file with the new Rails 3 mount function. You can also optionally include the admin/pass combination for the panel.

Rails::Application.routes.draw.do
    # your other routes
    BOWTIE_AUTH = {:user => 'admin', :pass => '12345'}
    mount Bowtie::Admin, :at => '/admin'
end

Additionally you need to make sure that all models have been loaded because Rails only models them on demand and Bowtie only sees loaded models. Paste this into a new initializer config/initializers/bowtie.rb

Dir[Rails.root + 'app/models/**/*.rb'].each do |path|
    require path
end

Try it out!

Now you can go to /admin in your app's path and try out Bowtie using your user/pass combination. If not set, it defaults to admin/bowtie.

Important notes

Bowtie requires a few gems but they're not included in the gemspec to prevent forcing your from installing unneeded gems. Therefore you need to make sure that Bowtie will have the following gems to work with:

For MongoMapper models:

  • mongo_mapper
  • bson_ext (not required, but recommended)

For DataMapper models:

  • dm-core
  • dm-validations
  • dm-aggregates
  • dm-pager

Note: From version 0.3, Bowtie is meant to be used from DataMapper 1.0.0 on. For previous versions of DM please install with -v=0.2.5.

Copyright

(c) 2010-2012 - Tomás Pollak for Fork Ltd. Released under the MIT license.