Sha256: dccaefa6d7129d04ded575b30dfe125e61b4e30c1e1db97279de8f8863b88aef
Contents?: true
Size: 1.49 KB
Versions: 26
Compression:
Stored size: 1.49 KB
Contents
# Copyright (C) 2009-2013 MongoDB, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. module BSON # JavaScript code to be evaluated by MongoDB. class Code # Hash mapping identifiers to their values attr_accessor :scope, :code # Wrap code to be evaluated by MongoDB. # # @param [String] code the JavaScript code. # @param [Hash] scope a document mapping identifiers to values, which # represent the scope in which the code is to be executed. def initialize(code, scope={}) @code = code @scope = scope unless @code.is_a?(String) raise ArgumentError, "BSON::Code must be in the form of a String; #{@code.class} is not allowed." end end def length @code.length end def ==(other) self.class == other.class && @code == other.code && @scope == other.scope end def inspect "<BSON::Code:#{object_id} @data=\"#{@code}\" @scope=\"#{@scope.inspect}\">" end def to_bson_code self end end end
Version data entries
26 entries across 26 versions & 1 rubygems