class WebSocket::Extensions::Offers

def by_name(name)

def by_name(name)
  @by_name[name] || []
end

def each_offer(&block)

def each_offer(&block)
  @in_order.each do |offer|
    block.call(offer[:name], offer[:params])
  end
end

def initialize

def initialize
  @by_name  = {}
  @in_order = []
end

def push(name, params)

def push(name, params)
  @by_name[name] ||= []
  @by_name[name].push(params)
  @in_order.push(:name => name, :params => params)
end

def to_a

def to_a
  @in_order.dup
end