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 Method Summary

Methods inherited from Base

#after_serialize, #before_serialize, #serialized_path

Constructor Details

- (ProcessSerializer) initialize(cmd)

Creates a new ProcessSerializer for the shell command cmd

Parameters:

  • (String) cmd — 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 Method Details

- (Object) serialize(object, data)

Overrides serialize behavour 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