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