Sha256: e6a65e6b228f3c6ea8380bd1e068f300ec6926bf6b7a9d5d55a723c22b330764

Contents?: true

Size: 828 Bytes

Versions: 9

Compression:

Stored size: 828 Bytes

Contents

# frozen_string_literal: true

require "set"

module Mongoid
  class Criteria
    module Queryable
      module Extensions

        # This module contains additional object behavior.
        module Set
          module ClassMethods

            # Evolve the set, casting all its elements.
            #
            # @example Evolve the set.
            #   Set.evolve(set)
            #
            # @param [ Set, Object ] object The object to evolve.
            #
            # @return [ Array ] The evolved set.
            def evolve(object)
              return object if !object || !object.respond_to?(:map)
              object.map{ |obj| obj.class.evolve(obj) }
            end
          end
        end
      end
    end
  end
end

::Set.__send__(:extend, Mongoid::Criteria::Queryable::Extensions::Set::ClassMethods)

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
mongoid-7.5.4 lib/mongoid/criteria/queryable/extensions/set.rb
mongoid-7.5.3 lib/mongoid/criteria/queryable/extensions/set.rb
mongoid-7.5.2 lib/mongoid/criteria/queryable/extensions/set.rb
mongoid-7.5.1 lib/mongoid/criteria/queryable/extensions/set.rb
mongoid-7.4.3 lib/mongoid/criteria/queryable/extensions/set.rb
mongoid-8.0.1 lib/mongoid/criteria/queryable/extensions/set.rb
mongoid-7.5.0 lib/mongoid/criteria/queryable/extensions/set.rb
mongoid-7.4.1 lib/mongoid/criteria/queryable/extensions/set.rb
mongoid-7.4.0 lib/mongoid/criteria/queryable/extensions/set.rb