Sha256: 321e83c395507dedada8e9d2fbe9343e44196cb0bf1ab4a038ee49313c52eac7

Contents?: true

Size: 524 Bytes

Versions: 7

Compression:

Stored size: 524 Bytes

Contents

module Flipper
  module Instrumenters
    # Instrumentor that is useful for tests as it stores each of the events that
    # are instrumented.
    class Memory
      Event = Struct.new(:name, :payload, :result)

      attr_reader :events

      def initialize
        @events = []
      end

      def instrument(name, payload = {})
        result = if block_given?
          yield payload
        else
          nil
        end
        @events << Event.new(name, payload, result)
        result
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
flipper-0.7.0.beta1 lib/flipper/instrumenters/memory.rb
flipper-0.6.3 lib/flipper/instrumenters/memory.rb
flipper-0.6.2 lib/flipper/instrumenters/memory.rb
flipper-0.6.1 lib/flipper/instrumenters/memory.rb
flipper-0.6.0 lib/flipper/instrumenters/memory.rb
flipper-0.5.0 lib/flipper/instrumenters/memory.rb
flipper-0.4.0 lib/flipper/instrumenters/memory.rb