Skip to content

Commit 875e279

Browse files
committed
MONGOID-5222 fix regexp mongoization
1 parent 0c1d1dd commit 875e279

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

lib/mongoid/extensions/regexp.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ module ClassMethods
1818
def mongoize(object)
1919
return if object.nil?
2020
case object
21-
when String, ::Regexp then ::Regexp.new(object)
21+
when String then ::Regexp.new(object)
22+
when ::Regexp then object
23+
when BSON::Regexp::Raw then object.compile
2224
else raise Errors::InvalidValue.new(self, object)
2325
end
2426
end

spec/mongoid/extensions/regexp_spec.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,17 @@
6161
expect(value).to be_nil
6262
end
6363
end
64+
65+
context "when providing a BSON::Regexp::Raw" do
66+
67+
let(:value) do
68+
Regexp.mongoize(BSON::Regexp::Raw.new("hello"))
69+
end
70+
71+
it "returns a Regexp" do
72+
expect(value).to eq(/hello/)
73+
end
74+
end
6475
end
6576

6677
describe "#mongoize" do

0 commit comments

Comments
 (0)