Class: YARD::Serializers::ProcessSerializer

Inherits:
Base
  • Object
show all
Defined in:
lib/yard/serializers/process_serializer.rb

Overview

Serializes an object to a process (like less)

Examples:

Serializing to a pager (less)

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

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (ProcessSerializer) initialize(cmd)

Creates a new ProcessSerializer for the shell command cmd

Parameters:

  • cmd (String)

    the command that will accept data on stdin



12
13
14
# File 'lib/yard/serializers/process_serializer.rb', line 12

def initialize(cmd)
  @cmd = cmd
end

Instance Attribute Details

- (SymbolHash) options (readonly) Originally defined in class Base

All serializer options are saved so they can be passed to other serializers.

Returns:

Instance Method Details

- (Object) serialize(object, data)

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



18
19
20
# File 'lib/yard/serializers/process_serializer.rb', line 18

def serialize(object, data)
  IO.popen(@cmd, 'w') {|io| io.write(data) }
end