Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Ruby Reports (Ruport) is an extensible reporting system.
It aims to be as lightweight as possible while still providing core support for data aggregation and manipulation as well as multi-format rendering of reports.
Ruport provides tools for using a number of data sources, including CSV files, ActiveRecord models, and raw SQL connections via RubyDBI (through ruport-util).
Data manipulation is easy as there are standard structures that support record, table, and grouping operations. These all can be extended to implement custom behavior as needed.
For common tasks, Ruport provides formatters for CSV, HTML, PDF, and text- based reports. However, the real power lies in building custom report controllers and formatters. The base formatting libraries provide a number of helper functions that will let you build complex reports while maintaining a DRY and consistent interface.
To get a quick feel for what you can accomplish with Ruport, take a look at a few simple examples provided on our web site:
https://ruport.github.io/examples.html
Since Ruport's core support is intentionally minimalistic, you may be looking for some higher level support for specific needs such as graphing, invoices, report mailing support, etc. For this, you may wish to take a look at the ruport-util package, which contains some generally useful tools and libraries to extend Ruport's capabilities.
To install ruport via rubygems:
$ sudo gem install ruport
Check to see if it installed properly:
$ ruby -e "require 'ruport'; puts Ruport::VERSION"
If you get an error, please let us know on our mailing list.
Ruport relies on PDF::Writer for its formatting support. If you want to make use of textile helpers, you'll also need RedCloth.
If you wish to use Ruport to report against a Rails project, you'll need
ActiveRecord and the acts_as_reportable
gem.
If you want to use Ruport::Query for raw SQL support, you'll need to
install ruport-util
, RubyDBI
and whatever database drivers you might
need.
Our developers have published a free-content book about all things Ruport, including complete coverage of acts_as_reportable and some of ruport-util's features. This book serves as the definitive guide to Ruport, so all users should become acquainted with it:
If you are looking to dig a little deeper, there are a couple more resources that may be helpful to you.
If you'd like to contribute code to Ruport, fork the repository and open a PR!
We are very responsive to contributors, and review every patch we receive fairly quickly. Most contributors who successfully get a patch or two applied are given write access to the repositories and invited to join Ruport's development team. Since we view every user as potential contributor, this approach works well for us.
So if you want to help out with Ruport, we'll happy accept your efforts!
FAQs
Unknown package
We found that ruport demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.