module ObjectTracer::Output::Helpers

Public Instance Methods

and_output(payload_method = nil, options: {}, logger:, &block) click to toggle source
# File lib/object_tracer/output.rb, line 22
def and_output(payload_method = nil, options: {}, logger:, &block)
  output_block = generate_output_block(payload_method, block)
  @output_writer = Writer.new(options: options, output_block: output_block, logger: logger)
  self
end
and_print(payload_method = nil, options: {}, &block) click to toggle source
# File lib/object_tracer/output.rb, line 18
def and_print(payload_method = nil, options: {}, &block)
  and_output(payload_method, options: options, logger: Logger.new($stdout), &block)
end
and_write(payload_method = nil, options: {}, &block) click to toggle source
# File lib/object_tracer/output.rb, line 14
def and_write(payload_method = nil, options: {}, &block)
  and_output(payload_method, options: options, logger: Logger.new(options[:log_file]), &block)
end

Private Instance Methods

generate_output_block(payload_method, block) click to toggle source
# File lib/object_tracer/output.rb, line 30
def generate_output_block(payload_method, block)
  if block
    block
  elsif payload_method
    -> (output_payload, output_options) { output_payload.send(payload_method, output_options) }
  else
    raise "need to provide either a payload method name or a block"
  end
end