Dossier does its best to use semantic versioning.
- Heroku
DATABASE_URL
support - CSS classes on Dossier views
Dossier::Naming
renamed toDossier::Model
- Reports have a
display_column?(name)
method that can be overriden to determine if a column should be displayed. - Rails v4.2.X support
- headers will now be formatted without calling
format_header
in the view, that will be called when accessing them (I'm not sure if this may cause backwards incompatible changes with custom views. I don't think so. - introduced
format_column(column, value)
as a default formatter that can be implemented as a fall back if a specific format method does not exist - Add license to gemspec, thanks to notice from Benjamin Fleischer - see his blog post
- Output files now have a sortable date/time stamp by default. Eg, "foo-report_2014-10-02_09-12-24-EDT.csv". This can still be customized by defining a report class's
filename
method. - Add CSS classes to report
<table>
elements to facilitate styling.
- Support namespaces for report names (
cats/are/super_fun
=>Cats::Are::SuperRunReport
- Moved controller response formats into responder class
- Added renderer that contains logic for custom views, this has a pluggable engine depending on if the request is through the controller or through direct object access. If it is through the controller, the controller will be used as the rendering engine, otherwise a basic controller that only renders will be used.
- Filename is configurable by overriding
self.filename
in any given report class - Options have been extracted into a partial so the entire view doesn't need to be overridden
- Reports will work natively with
form_for
with no additional options (exceptmethod: :get
) - added in
number_to_dollars
andcommafy_number
which are American only versions ofnumber_to_currency
andnumber_with_precision
because they are suuuuuuuper slow on large datasets. (17k records profiled at 39 seconds vs 3 with the cheap ones) - added ability to use the report's formatter in view context for a custom view
- allows setting template at class or instance level. Class.template = 'x' or def template; 'x'; end
- Added
formatted_dossier_report_path
helper method
- Support ability to combine reports into a macro report using the Dossier::MultiReport class
- Made
#report_class
a public method onDossier::ReportsController
for easier integration with authorization gems - Moved "Download CSV" link to top of default report view
- Formatting the header is now an instance method on the report class called
format_header
(thanks @rubysolo) - Rails 4 compatibility (thanks @rubysolo)
- Fixed bug when using class names in SQL queries, only lowercase symbols that are a-z will be replaced with the respective method call.
- Added view generator for Rails (thanks @wzcolon)
Removed view
method from report. Moved all logic for converting to and from report names from classes into Dossier module. Refactored spec support files. Fixed issue when rendering dossier template outside of Dossier::ReportsController
.
Support for XLS output, added by michelboaventura
Fixed bug: in production, CSV rendering should not contain a backtrace if there's an error.
Formatter methods will now be passed a hash of the row values if they accept a second argument. This allows formatting certain rows specially.
Switched away from classify
in determining report name to avoid singularization.
First public release (previously internal)