Sha256: 0e209dc1d6d0aa036cb801ec78b243a3af59891be1f2c72acdce511b71dff2bf

Contents?: true

Size: 698 Bytes

Versions: 16

Compression:

Stored size: 698 Bytes

Contents

module YARD
  module Serializers
    # Serializes an object to a process (like less)
    # 
    # @example Serializing to a pager (less)
    #   serializer = ProcessSerializer.new('less')
    #   serializer.serialize(object, "data!")
    class ProcessSerializer < Base
      # Creates a new ProcessSerializer for the shell command +cmd+
      # 
      # @param [String] cmd the command that will accept data on stdin
      def initialize(cmd)
        @cmd = cmd
      end
      
      # Overrides serialize behavour and writes data to standard input
      # of the associated command
      def serialize(object, data)
        IO.popen(@cmd, 'w') {|io| io.write(data) }
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
yard-0.6.4 lib/yard/serializers/process_serializer.rb
yard-0.6.3 lib/yard/serializers/process_serializer.rb
yard-0.6.2 lib/yard/serializers/process_serializer.rb
yard-0.6.1 lib/yard/serializers/process_serializer.rb
yard-0.6.0 lib/yard/serializers/process_serializer.rb
yard-0.5.8 lib/yard/serializers/process_serializer.rb
yard-0.5.7 lib/yard/serializers/process_serializer.rb
yard-0.5.6 lib/yard/serializers/process_serializer.rb
yard-0.5.5 lib/yard/serializers/process_serializer.rb
yard-0.5.4 lib/yard/serializers/process_serializer.rb
yard-0.5.3 lib/yard/serializers/process_serializer.rb
yard-0.5.2 lib/yard/serializers/process_serializer.rb
yard-0.5.1p1 lib/yard/serializers/process_serializer.rb
yard-0.5.1 lib/yard/serializers/process_serializer.rb
yard-0.5.0 lib/yard/serializers/process_serializer.rb
yard-0.4.0 lib/yard/serializers/process_serializer.rb