Sha256: 556ff117b5e85bff0a7d09454203fac9f1e81dfbddeedbd9dc5ebe392153a582

Contents?: true

Size: 427 Bytes

Versions: 1

Compression:

Stored size: 427 Bytes

Contents

module Interceptors
  class Middleware
    attr_reader :on_enter, :on_leave

    def initialize
      @on_enter = Queue.new
      @on_leave = DS::Stack.new
    end

    # Queue operations
    def enqueue(element)
      on_enter.push(element)
    end

    def dequeue
      on_enter.pop
    end

    # Stack operations
    def push(element)
      on_leave.push(element)
    end

    def pop
      on_leave.pop
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
interceptors-0.1.1 lib/interceptors/middleware.rb