PpSql

Version               Build Status          Codacy Badge          Reviewed by Hound

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 2.4+

Rails

Rails 4.2+ (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 build-in refinement:

  using PpSql::ToSqlBeautifyRefinement

Or if you need to use it wider

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

License

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