Simple dashboard of records created this week, this month, and all time, mountable as a Rails Engine.
A simple dashboard of records created this week, this month, and all time, mountable as a Rails Engine.
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.
You can access StatBoard like this:
stat_board.root_url
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
stat_board/bootstrap.css
to your precompile paths.config.assets.initialize_on_precompile
set to false
, thenstat_board/highcharts.js
to your precompile paths.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.