Class: Carnivore::Source::Spec

Inherits:
Carnivore::Source show all
Defined in:
lib/carnivore/spec_helper.rb

Overview

Dummy source for testing used to capture payloads for inspection

Instance Attribute Summary collapse

Attributes inherited from Carnivore::Source

#allow_multiple_matches, #arguments, #auto_confirm, #auto_process, #callback_supervisor, #callbacks, #message_loop, #message_registry, #message_remote, #name, #processing, #run_process

Instance Method Summary collapse

Methods inherited from Carnivore::Source

#_transmit, #add_callback, #auto_confirm?, #auto_process?, build, #callback_name, clear!, #connect, #init_registry, #inspect, #loop_enabled?, #loop_receive, #loop_transmit, #multiple_callbacks?, #process, provide, #receive_messages, register, #remove_callback, require_path, reset_comms!, #restarted!, #run_connect, #run_setup, source, source_classes, sources, sources_registry, #start!, #terminate, #to_s, #touch, #valid_message?

Methods included from Utils::Failure

#execute_and_retry_forever

Methods included from Utils::Logging

#exception_log, #log

Constructor Details

#initialize(*args) { ... } ⇒ Spec

Creates new spec source

Parameters:

  • args (Object)

    argument list (passed to Source)

Yields:

  • source block (passed to Source)



69
70
71
72
# File 'lib/carnivore/spec_helper.rb', line 69

def initialize(*args, &block)
  super
  @confirmed = []
end

Instance Attribute Details

#confirmedArray (readonly)

Returns messages confirmed.

Returns:

  • (Array)

    messages confirmed



63
64
65
# File 'lib/carnivore/spec_helper.rb', line 63

def confirmed
  @confirmed
end

Instance Method Details

#confirm(payload, *args) ⇒ TrueClass

Capture confirmed messages

Parameters:

  • payload (Object)

    payload of message

  • args (Object)

    argument list (unused)

Returns:

  • (TrueClass)


111
112
113
114
# File 'lib/carnivore/spec_helper.rb', line 111

def confirm(payload, *args)
  confirmed << payload
  true
end

#format(msg) ⇒ Carnivore::Message

Format the message

Parameters:

  • msg (Object)

    message payload

Returns:



99
100
101
102
103
104
# File 'lib/carnivore/spec_helper.rb', line 99

def format(msg)
  Message.new(
    :message => msg,
    :source => self
  )
end

#receive(*args) ⇒ Object

Dummy receiver



82
83
84
# File 'lib/carnivore/spec_helper.rb', line 82

def receive(*args)
  wait(:forever)
end

#setup(*args) ⇒ Array

Setup the message store for payload storage

Returns:

  • (Array)

    message storage



77
78
79
# File 'lib/carnivore/spec_helper.rb', line 77

def setup(*args)
  MessageStore.init
end

#transmit(*args) ⇒ TrueClass

Capture messages transmitted

Parameters:

  • args (Object)

    argument list

Returns:

  • (TrueClass)


90
91
92
93
# File 'lib/carnivore/spec_helper.rb', line 90

def transmit(*args)
  MessageStore.messages << args.first
  true
end