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!, source, source_classes, sources, sources_registry, #start!, #teardown_cleanup, #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)



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

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

Instance Attribute Details

#confirmedArray (readonly)

Returns messages confirmed.

Returns:

  • (Array)

    messages confirmed



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

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)


117
118
119
120
# File 'lib/carnivore/spec_helper.rb', line 117

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

#format(msg) ⇒ Carnivore::Message

Format the message

Parameters:

  • msg (Object)

    message payload

Returns:



105
106
107
108
109
110
# File 'lib/carnivore/spec_helper.rb', line 105

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

#receive(*args) ⇒ Object

Dummy receiver



88
89
90
# File 'lib/carnivore/spec_helper.rb', line 88

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

#setup(*args) ⇒ Array

Setup the message store for payload storage

Returns:

  • (Array)

    message storage



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

def setup(*args)
  MessageStore.init
end

#transmit(*args) ⇒ TrueClass

Capture messages transmitted

Parameters:

  • args (Object)

    argument list

Returns:

  • (TrueClass)


96
97
98
99
# File 'lib/carnivore/spec_helper.rb', line 96

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