Sha256: 450ab800f25d34bf555760e0198fe625356c7b168b2778478f1631b226f2eada

Contents?: true

Size: 1.02 KB

Versions: 63

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true
module YARD
  module Serializers
    # A serializer that writes data to standard output.
    class StdoutSerializer < Base
      # Creates a serializer to print text to stdout
      #
      # @param [Fixnum, nil] wrap if wrap is a number, wraps text to +wrap+
      #   columns, otherwise no wrapping is done.
      def initialize(wrap = nil)
        @wrap = wrap
      end

      # Overrides serialize behaviour to write data to standard output
      def serialize(_object, data)
        print(@wrap ? word_wrap(data, @wrap) : data)
      end

      private

      # Wraps text to a specific column length
      #
      # @param [String] text the text to wrap
      # @param [Fixnum] _length the column length to wrap to
      # @return [String] the wrapped text
      def word_wrap(text, _length = 80)
        # See ruby-talk/10655 / Ernest Ellingson
        text.gsub(/\t/, "     ").gsub(/.{1,50}(?:\s|\Z)/) do
          ($& + 5.chr).gsub(/\n\005/, "\n").gsub(/\005/, "\n")
        end
      end
    end
  end
end

Version data entries

63 entries across 62 versions & 9 rubygems

Version Path
kinetic_sdk-5.0.29 gems/yard-0.9.36/lib/yard/serializers/stdout_serializer.rb
kinetic_sdk-5.0.28 gems/yard-0.9.36/lib/yard/serializers/stdout_serializer.rb
direct7-0.0.18 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/serializers/stdout_serializer.rb
direct7-0.0.17 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/serializers/stdout_serializer.rb
direct7-0.0.16 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/serializers/stdout_serializer.rb
yard-0.9.37 lib/yard/serializers/stdout_serializer.rb
kinetic_sdk-5.0.27 gems/yard-0.9.36/lib/yard/serializers/stdout_serializer.rb
kinetic_sdk-5.0.26 gems/yard-0.9.36/lib/yard/serializers/stdout_serializer.rb
kinetic_sdk-5.0.25 gems/yard-0.9.25/lib/yard/serializers/stdout_serializer.rb
kinetic_sdk-5.0.24 gems/yard-0.9.25/lib/yard/serializers/stdout_serializer.rb
direct7-0.0.13 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/serializers/stdout_serializer.rb
yard-0.9.36 lib/yard/serializers/stdout_serializer.rb
yard-0.9.35 lib/yard/serializers/stdout_serializer.rb
direct7-0.0.12 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/serializers/stdout_serializer.rb
kinetic_sdk-5.0.23 gems/yard-0.9.25/lib/yard/serializers/stdout_serializer.rb
getargv-0.3.3-universal-darwin vendor/bundle/ruby/3.3.0/gems/yard-0.9.34/lib/yard/serializers/stdout_serializer.rb
direct7-0.0.11 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/serializers/stdout_serializer.rb
kinetic_sdk-5.0.22 gems/yard-0.9.25/lib/yard/serializers/stdout_serializer.rb
kinetic_sdk-5.0.21 gems/yard-0.9.25/lib/yard/serializers/stdout_serializer.rb
yard-0.9.34 lib/yard/serializers/stdout_serializer.rb