StatBoard
A simple dashboard of records created this week, this month, and all time, mountable as a Rails Engine.
Basic Configuration
-
Add gem to
Gemfile:gem 'stat_board' -
Add initializer and route:
rails g stat_board:install -
Configure models (in
config/initializers/stat_board.rb):StatBoard.models = [User, Post, Comment]
Models can also be listed as strings if you encounter any loading order issues.
Routing
You can access StatBoard like this:
stat_board.root_url
Additonal Configuration
In config/initializers/stat_board.rb:
-
Title
StatBoard.title = "YourApp Stats" -
Basic Authentication
StatBoard.username = "user" StatBoard.password = "pass" -
Displaying Data Graphically (true by default)
StatBoard.display_graph = true -
You may provide your own reports, just place they into
lib/stat_board/reports. Name of report should be*_report.rb. For example:# lib/stat_board/reports/day_report.rb module StatBoard module Reports class DayReport < Report def name "Last day" end def scope(model) super.where(["created_at > ?", 1.day.ago]) end end end end
Issues
- Models can be specified as strings rather than constants if you encounter loading order issues.
- If you're using the Asset Pipeline, you'll need to add
stat_board/bootstrap.cssto your precompile paths. - If you have
config.assets.initialize_on_precompileset tofalse, then you will need to addstat_board/highcharts.jsto your precompile paths.
Contributing
Happily accepting contributions to improve StatBoard. To contribute, fork, add your thing, add some specs, and send a pleasantly worded pull request.
In order to setup the databases locally, you'll need to: bundle exec rake db:migrate app:db:test:prepare
StatBoard is released under the MIT License. See MIT-LICENSE for further details.
Visit code.viget.com to see more projects from Viget.