
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
A Rails engine to generate simple web-based reports with charts along with Rspec matchers for testing them.
It currently supports:
It provides the following matchers:
Report subclasses will automatically appear under the ReportCat index controller, allowing you to add a new report with custom form, columns and charts by just adding a single ReportCat::Report subclass.
Add this to your Gemfile
and bundle install
gem 'report_cat'
Add this to your config/routes.rb
mount ReportCat::Engine => '/report_cat'
Install and run migrations
rake report_cat:install:migrations
rake db:migrate
Restart your Rails server
Visit http://yourapp/report_cat in a browser
TODO: UML goes here
add_param( name, type, value = nil, options = {} )
types = :check_box, :date, :select, :text_field options = :hidden, :values
add_column( name, type, options = {} )
types = :date, :float, :integer, :moving_average, :ratio, :report, :string options = :hidden, :sql
add_chart( name, type, label, values, options = {} )
types = :area, :bar, :column, :line, :pie
You can place new reports anywhere you like, but app/reports
is the recommended location.
Add the following to config/application.rb
Dir[Rails.root + 'app/reports/**/*.rb'].each { |path| require path }
Create a subclass of ReportCat::Core::Report
, ReportCat::Report::DateRangeReport
or ReportCat::Report::CohortReport
class MyReport << ReportCat::Report::DateRangeReport
def initialize
super( :name => :my_report, :from => :users, :order_by => 'users.id asc' )
add_column( :total, :integer, :sql => 'count( users.id )' )
add_chart( :chart, :line, :start_date, :total )
end
end
Or build one on the fly
report = ReportCat::Core::DateRangeReport.new( :name => :my_report, :from => :users, :order_by => 'users.id asc' )
report.add_column( :total, :integer, :sql => 'count( users.id )' )
report.add_chart( :chart, :line, :start_date, :total )
report.generate
report.rows.each { |row| puts "Total = #{row[0]} }
Add the following to ApplicationController:
before_action :require_reports if Rails.env.development?
def require_reports
silence_warnings do
Dir[Rails.root + 'app/reports/**/*.rb'].each { |path| require_dependency path }
end
end
NOTE: This is a rank hack and causes some weird behavior if you change a report's base class or override methods without restarting the server. Please let me know if you find a better way to dynamically force reload in development.
Ability to register "anonymous" reports of generic Report classes with factory
Fix pending spec due to Travis problem
Add a AnnotatedReport class - base report left joined to an "annotation" report
Replace Google Charts with D3
Improve Column modelling WRT calculated ratios and moving averages
Document
FAQs
Unknown package
We found that report_cat demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.