Module: BSON::Regexp
- Includes:
- JSON
- Defined in:
- lib/bson/regexp.rb
Overview
Injects behaviour for encoding and decoding regular expression values to and from raw bytes as specified by the BSON spec.
Defined Under Namespace
Modules: ClassMethods Classes: Raw
Constant Summary collapse
- BSON_TYPE =
A regular expression is type 0x0B in the BSON spec.
11.chr.force_encoding(BINARY).freeze
Instance Method Summary collapse
-
#as_json(*args) ⇒ Hash
Get the regexp as JSON hash data.
-
#to_bson(encoded = ''.force_encoding(BINARY)) ⇒ String
Get the regular expression as encoded BSON.
Methods included from JSON
Instance Method Details
#as_json(*args) ⇒ Hash
Get the regexp as JSON hash data.
39 40 41 |
# File 'lib/bson/regexp.rb', line 39 def as_json(*args) { "$regex" => source, "$options" => } end |
#to_bson(encoded = ''.force_encoding(BINARY)) ⇒ String
From the BSON spec: The first cstring is the regex pattern, the second is the regex options string. Options are identified by characters, which must be stored in alphabetical order. Valid options are ‘i’ for case insensitive matching, ‘m’ for multiline matching, ‘x’ for verbose mode, ‘l’ to make w, W, etc. locale dependent, ‘s’ for dotall mode (‘.’ matches everything), and ‘u’ to make w, W, etc. match unicode.
Get the regular expression as encoded BSON.
62 63 64 65 |
# File 'lib/bson/regexp.rb', line 62 def to_bson(encoded = ''.force_encoding(BINARY)) source.to_bson_cstring(encoded) .to_bson_cstring(encoded) end |