class YARD::Serializers::ProcessSerializer

Serializes an object to a process (like less)

@example Serializing to a pager (less)

serializer = ProcessSerializer.new('less')
serializer.serialize(object, "data!")

Public Class Methods

new(cmd) click to toggle source

Creates a new ProcessSerializer for the shell command cmd

@param [String] cmd the command that will accept data on stdin

# File lib/yard/serializers/process_serializer.rb, line 13
def initialize(cmd)
  @cmd = cmd
end

Public Instance Methods

serialize(_object, data) click to toggle source

Overrides serialize behaviour and writes data to standard input of the associated command

# File lib/yard/serializers/process_serializer.rb, line 19
def serialize(_object, data)
  IO.popen(@cmd, 'w') {|io| io.write(data) }
end