From 9584b9e147705578f8cb5e6f2a546d0a436c7951 Mon Sep 17 00:00:00 2001 From: Tee Parham Date: Sat, 15 Sep 2012 09:34:11 -0700 Subject: [PATCH] move OrderedSet to separate file --- lib/active_model/ordered_set.rb | 25 +++++++++++++++++++++++++ lib/active_model/serializer.rb | 24 ------------------------ lib/active_model_serializers.rb | 1 + 3 files changed, 26 insertions(+), 24 deletions(-) create mode 100644 lib/active_model/ordered_set.rb diff --git a/lib/active_model/ordered_set.rb b/lib/active_model/ordered_set.rb new file mode 100644 index 00000000..dd76ed41 --- /dev/null +++ b/lib/active_model/ordered_set.rb @@ -0,0 +1,25 @@ +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 diff --git a/lib/active_model/serializer.rb b/lib/active_model/serializer.rb index a301a7f9..82ee0481 100644 --- a/lib/active_model/serializer.rb +++ b/lib/active_model/serializer.rb @@ -3,30 +3,6 @@ require "active_support/core_ext/module/anonymous" require "set" 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 - # Active Model Serializer # # Provides a basic serializer implementation that allows you to easily diff --git a/lib/active_model_serializers.rb b/lib/active_model_serializers.rb index bfa1639a..33aa902b 100644 --- a/lib/active_model_serializers.rb +++ b/lib/active_model_serializers.rb @@ -2,6 +2,7 @@ require "active_support" require "active_support/core_ext/string/inflections" require "active_support/notifications" require "active_model" +require "active_model/ordered_set" require "active_model/array_serializer" require "active_model/serializer" require "set"