Skip to content

Latest commit

 

History

History
126 lines (83 loc) · 3.15 KB

File metadata and controls

126 lines (83 loc) · 3.15 KB

PpSql

Version Codacy Badge Reviewed by Hound img src="https://api.gitsponsors.com/api/badge/img?id=78002099" height="20"

Replace standard ActiveRecord#to_sql method with anbt-sql-formatter gem for pretty SQL code output in console. Rails log will be formatted also. Example output:

log

Or in console

console

Require

Ruby 3.1+

Rails

Rails / ActiveRecord 7.1+ (optional), will be injected automatically

Legacy

You can use version ~> 0.2 of this gem with Ruby 2.2, 2.3 and/or Rails 4.0, 4.1

Usage

Post.first.to_sql

for easy and clean usage with custom string you can use:

class MyAwesomeDecoratedString < String
  include PpSql::ToSqlBeautify
end

Installation

add in Gemfile

gem 'pp_sql', group: :development

And then execute:

bundle

With other formatters

If you are pry user, or use custom output formatter, use puts for output whitespaces, like puts User.all.to_sql, or use User.all.pp_sql.

With Rails

If you do not want to rewrite default #to_sql method you may specify PpSql.rewrite_to_sql_method=false in initializers.

You can also disable log formatting by specifying PpSql.add_rails_logger_formatting=false in initializers.

Add to Application record

I found usefull this trick:

class ApplicationRecord < ActiveRecord::Base
 include PpSql::ToSqlBeautify if defined?(Rails::Console)

 self.abstract_class = true
end

Supported by

jetbrains

Contributing

Running the tests requires sqlite.

To refresh the generated appraisal gemfiles:

bundle exec appraisal generate

To run the maintained dependency matrix locally:

bundle exec appraisal install
bundle exec appraisal rake

GitHub Actions runs the Rails / ActiveRecord 7.1, 7.2, 8.0, and 8.1 matrix on Ruby 3.2, 3.3, and 3.4.

License

The gem is available as open source under the terms of the MIT License.