Popularity
2.3
Growing
Activity
6.6
Growing
212
6
6

Description

Replace standard ActieRecord#to_sql method with anbt-sql-formatter gem for pretty formatted SQL code output in console.

Monthly Downloads: 3,758
Programming language: Ruby
License: MIT License
Tags: Testing     Frameworks     RSpec     Formatters     SQL     Active Record    

PpSql alternatives and similar gems

Based on the "Formatters" category

Do you think we are missing an alternative of PpSql or a related project?

Add another 'Formatters' Gem

README

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.


*Note that all licence references and agreements mentioned in the PpSql README section above are relevant to that project's source code only.