- Notifications
You must be signed in to change notification settings - Fork0
A plugin that makes basic reporting for rails models dead simple. Formally known as reports_as_sparkline.
License
octanner/reportable
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Reportable allows for the easy creation of reports based onActiveRecord
models.
O.C.Tanner fork to support ruby 2.3.1
Usage is pretty easy. To declare a report on a model, simply define that the model provides a report:
class User < ActiveRecord::Base reportable :registrations, :aggregation => :countend
Thereportable
method takes a bunch more options which are described in theAPI docs. For example you could generate a report onthe number of updated users records per second or the number of registrations of users that have a last name that starts with'A'
per month:
class User < ActiveRecord::Base reportable :last_name_starting_with_a_registrations, :aggregation => :count, :grouping => :month, :conditions => ["last_name LIKE 'A%'"] reportable :updated_per_second, :aggregation => :count, :grouping => :hour, :date_column => :updated_atend
For every declared report a method is generated on the model that returns the date:
User.registrations_reportUser.last_name_starting_with_a_registrations_reportUser.updated_per_second_report
The data is returned as anArray
ofArray
s ofDateTime
s andFloat
s, e.g.:
[ [DateTime.now, 1.0], [DateTime.now - 1.day, 2.0], [DateTime.now - 2.days, 3.0]]
Reportable provides helper methods to generate a sparkline image from this data that you can use in your views, e.g.:
<%= google_report_tag(User.registrations_report) %>
For other options to generate sparklines see theAPI docs.
To install the Reportable gem, simply run
[sudo] gem install reportable
To install Reportable for Rails 3.x, add it to your application's Gemfile:
gem 'reportable', :require => 'saulabs/reportable'
and generate the migration that create reportable's cache table (beware that reportable currently only supports ActiveRecord):
rails generate reportable_migration
If you want to use reportable's JavaScript graph output format, you also have to generate the JavaScript files:
rails generate reportable_raphael_assets
if you want to useRaphael or if you want to usejQuery andflot:
rails generate reportable_jquery_flot_assets
- add support for Oracle and MSSQL
- add support for DataMapper
- add more options to generate graphs from the data
- add the option to generate textual reports on the command line
© 2008-2012 Marco Otte-Witte (http://simplabs.com) and Martin Kavalar (http://www.sauspiel.de)
Released under the MIT license
- Eric Lindvall (http://github.com/eric)
- Jan Bromberger (http://github.com/jan)
- Jared Dobson (http://github.com/onesupercoder)
- Jarod Reid
- Lars Kuhnt (http://github.com/larskuhnt)
- Max Schöfmann (http://github.com/schoefmax)
- Myron Marston (http://github.com/myronmarston)
- Ryan Bates (http://github.com/ryanb)
About
A plugin that makes basic reporting for rails models dead simple. Formally known as reports_as_sparkline.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Languages
- Ruby100.0%