Ruby Reportable is a DSL for writing reports using pure ruby. It allows you to use existing code (ie your Rails application) to grab data and the manipulate it.
If you have loaded it then Ruby Reportable can report on it.
See examples/ directory
Using Ruby Reportable is as easy as include RubyReportable
in a new class. The include lets Ruby Reportable know this class is a new report and also brings in the DSL.
Your source is the start of your data. All available configuration is shown below.
source do
#
# define how your outputs will see each element of the source data
#
as :element # this is the default
# Whatever you want your starting data to be
logic do
ObjectSpace.each_object.to_a.group_by(&:class).to_a
end
end
Install as a gem or use as part of your Gemfile
$ [sudo] gem install ruby_reportable
There is a change in what is returned when a report is validated (object.report.valid?). In 0.1.X true/false is returned but in 0.2.X a hash is returned containing whether the report is valid (status) and an array of errors if any (errors).
{:status => true/false, :errors => array }