Sha256: f3d88172b75f8aabc2876271811f2cd44a0ca80691d3a270c1acd62800425dfd

Contents?: true

Size: 473 Bytes

Versions: 7

Compression:

Stored size: 473 Bytes

Contents

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

7 entries across 7 versions & 1 rubygems

Version Path
dry-struct-1.2.0 lib/dry/struct/extensions/pretty_print.rb
dry-struct-1.1.1 lib/dry/struct/extensions/pretty_print.rb
dry-struct-1.1.0 lib/dry/struct/extensions/pretty_print.rb
dry-struct-1.0.0 lib/dry/struct/extensions/pretty_print.rb
dry-struct-0.7.0 lib/dry/struct/extensions/pretty_print.rb
dry-struct-0.6.0 lib/dry/struct/extensions/pretty_print.rb
dry-struct-0.5.1 lib/dry/struct/extensions/pretty_print.rb