Class: BSON::Code

Inherits:
Object
  • Object
show all
Defined in:
lib/bson/types/code.rb

Overview

JavaScript code to be evaluated by MongoDB.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(code, scope = {}) ⇒ Code

Wrap code to be evaluated by MongoDB.

Parameters:

  • code (String)

    the JavaScript code.

  • a (Hash)

    document mapping identifiers to values, which represent the scope in which the code is to be executed.



32
33
34
35
36
37
38
39
# File 'lib/bson/types/code.rb', line 32

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

Instance Attribute Details

#codeObject

Hash mapping identifiers to their values



25
26
27
# File 'lib/bson/types/code.rb', line 25

def code
  @code
end

#scopeObject

Hash mapping identifiers to their values



25
26
27
# File 'lib/bson/types/code.rb', line 25

def scope
  @scope
end

Instance Method Details

#==(other) ⇒ Object



45
46
47
48
# File 'lib/bson/types/code.rb', line 45

def ==(other)
  self.class == other.class &&
    @code == other.code && @scope == other.scope
end

#inspectObject



50
51
52
# File 'lib/bson/types/code.rb', line 50

def inspect
  "<BSON::Code:#{object_id} @data=\"#{@code}\" @scope=\"#{@scope.inspect}\">"
end

#lengthObject



41
42
43
# File 'lib/bson/types/code.rb', line 41

def length
  @code.length
end

#to_bson_codeObject



54
55
56
# File 'lib/bson/types/code.rb', line 54

def to_bson_code
  self
end