Sha256: 8e95d903efb815becee6b38c33815166cb6331167f05ac68969bc753c04fc66a

Contents?: true

Size: 780 Bytes

Versions: 6

Compression:

Stored size: 780 Bytes

Contents

class FakeUdpSocket
  attr_reader :buffer

  TimingRegex = /\:\d+\|ms\Z/
  CounterRegex = /\:\d+\|c\Z/

  def initialize
    @buffer = []
  end

  def send(message, *rest)
    @buffer.push message
  end

  def recv
    @buffer.shift
  end

  def clear
    @buffer = []
  end

  def timer_metrics
    @buffer.grep(TimingRegex)
  end

  def timer_metric_names
    timer_metrics.map { |op| op.gsub(TimingRegex, '') }
  end

  def timer?(metric)
    timer_metric_names.include?(metric)
  end

  def counter_metrics
    @buffer.grep(CounterRegex)
  end

  def counter_metric_names
    counter_metrics.map { |op| op.gsub(CounterRegex, '') }
  end

  def counter?(metric)
    counter_metric_names.include?(metric)
  end

  def inspect
    "<FakeUdpSocket: #{@buffer.inspect}>"
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
nunes-0.5.0 test/support/fake_udp_socket.rb
nunes-0.4.0 test/support/fake_udp_socket.rb
nunes-0.3.1 test/support/fake_udp_socket.rb
nunes-0.3.0 test/support/fake_udp_socket.rb
nunes-0.2.0 test/support/fake_udp_socket.rb
nunes-0.1.0 test/support/fake_udp_socket.rb