Sha256: f8d3e11cb7c0099d9ab64679b18293b9e1342fe47529dcc73d17122fd8e364e6

Contents?: true

Size: 1.1 KB

Versions: 3

Compression:

Stored size: 1.1 KB

Contents

module Origin
  module Extensions

    # This module contains additional bson raw regex behaviour.
    module Regexp

      module Raw

        # Is the object a regexp?
        #
        # @example Is the object a regex?
        #   bson_raw_regexp.regexp?
        #
        # @return [ true ] Always true.
        #
        # @since 5.2.1
        def regexp?; true; end

        module ClassMethods

          # Evolve the object into a raw bson regex.
          #
          # @example Evolve the object to a regex.
          #   BSON::Regexp::Raw.evolve("^[123]")
          #
          # @param [ BSON::Regexp::Raw, String ] object The object to evolve.
          #
          # @return [ BSON::Regexp::Raw ] The evolved raw regex.
          #
          # @since 5.2.1
          def evolve(object)
            __evolve__(object) do |obj|
              obj.is_a?(String) ? BSON::Regexp::Raw.new(obj) : obj
            end
          end
        end
      end
    end
  end
end

BSON::Regexp::Raw.__send__(:include, Origin::Extensions::Regexp::Raw)
BSON::Regexp::Raw.__send__(:extend, Origin::Extensions::Regexp::Raw::ClassMethods)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mongoid-5.4.1 lib/mongoid/extensions/origin/regexp_raw.rb
mongoid-5.4.0 lib/mongoid/extensions/origin/regexp_raw.rb
mongoid-5.2.1 lib/mongoid/extensions/origin/regexp_raw.rb