Sha256: d4f91ecfd4f9a79889ba530697d668d9ae7750bd36e9e5fe634820fd7e4968c5

Contents?: true

Size: 502 Bytes

Versions: 1

Compression:

Stored size: 502 Bytes

Contents

# frozen_string_literal: true

require 'pp'

module Dry
  class Struct
    def pretty_print(pp)
      klass = self.class
      pp.group(1, "#<#{klass.name || klass.inspect}", '>') do
        pp.seplist(@attributes.keys, proc { pp.text ',' }) do |column_name|
          column_value = @attributes[column_name]
          pp.breakable ' '
          pp.group(1) do
            pp.text column_name
            pp.text '='
            pp.pp column_value
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dry-struct-1.3.0 lib/dry/struct/extensions/pretty_print.rb