module Sequel::Plugins::PrettyPrint::InstanceMethods

Public Instance Methods

pretty_print(pp) click to toggle source

Mimics the ActiveRecord's implementation

Calls superclass method
# File lib/sequel/plugins/pretty_print.rb, line 6
def pretty_print(pp)
  if method(:inspect).owner != Sequel::Model.instance_method(:inspect).owner
    return super
  end

  pp.object_address_group(self) do
    keys = self.class.columns.select { |name| @values.key?(name) || new? }
    keys = (keys + @values.keys).uniq

    pp.seplist(keys, proc { pp.text(",") }) do |key|
      pp.breakable(" ")

      pp.group(1) do
        pp.text(key.to_s)
        pp.text(":")
        pp.breakable
        pp.pp(self[key])
      end
    end
  end
end