active_model_serializers/lib/active_model/ordered_set.rb
2012-09-18 01:28:07 +02:00

26 lines
374 B
Ruby

module ActiveModel
class OrderedSet
def initialize(array)
@array = array
@hash = {}
array.each do |item|
@hash[item] = true
end
end
def merge!(other)
other.each do |item|
next if @hash.key?(item)
@hash[item] = true
@array.push item
end
end
def to_a
@array
end
end
end