DBHero is a simple and elegant web interface to extract data clips from your app database. just plug and play ;)
tested stack:
- PostgresSQL
- Ruby 2+
- Rails 4.1+
include in your Gemfile:
gem 'dbhero'then run:
rails g dbhero:install
This will create an initializer in config/initializers/dbhero.rb
Take a look in this initializer to tweak the default attributes.
and add on your routes file:
 mount Dbhero::Engine => "/dbhero", as: :dbherorun server and open http://localhost:3000/dbhero
On initializer config/initializers/dbhero.rb we can add the following configurations
Dbhero.configure do |config|
  # limits the total of rows that show on clips, if clip result os greather
  # that result rows of query then should show a button to download csv
  # this prevent that browser crashes :)
  config.max_rows_limit = 10_000
  # if you are using devise you can keep the "authenticate_user!"
  config.authenticate = true
  # Method to get the current user authenticated on your app
  # if you are using devise you can keep the "current_user"
  config.current_user_method = :current_user
  # Custom authentication condition hover current_user_method
  config.custom_user_auth_condition = lambda do |user|
    user.admin?
  end
  # String representation for user
  # when creating a dataclip just save on user field
  config.user_representation = :email
  # Google drive integration, uncomment to use ;)
  # you can get you google api credentials here:
  # https://developers.google.com/drive/web/auth/web-server
  # google drive callback url -> /dbhero/dataclips/drive
  config.google_api_id = 'GOOGLE_API_ID'
  config.google_api_secret = 'GOOGLE_API_SECRET'
endThis project rocks and uses MIT-LICENSE.