123456789_123456789_123456789_123456789_123456789_

Class: SQLite3::Database::FunctionProxy

Relationships & Source Files
Inherits: Object
Defined in: lib/sqlite3/database.rb

Overview

A helper class for dealing with custom functions (see #create_function, #create_aggregate, and #create_aggregate_handler). It encapsulates the opaque function object that represents the current invocation. It also provides more convenient access to the API functions that operate on the function object.

This class will almost always be instantiated indirectly, by working with the create methods mentioned above.

Class Method Summary

Instance Attribute Summary

Instance Method Summary

  • #[](key)

    Returns the value with the given key from the context.

  • #[]=(key, value)

    Sets the value with the given key in the context.

Constructor Details

.newFunctionProxy

Create a new FunctionProxy that encapsulates the given func object. If context is non-nil, the functions context will be set to that. If it is non-nil, it must quack like a Hash. If it is nil, then none of the context functions will be available.

[ GitHub ]

  
# File 'lib/sqlite3/database.rb', line 672

def initialize
  @result = nil
  @context = {}
end

Instance Attribute Details

#result (rw)

[ GitHub ]

  
# File 'lib/sqlite3/database.rb', line 666

attr_accessor :result

Instance Method Details

#[](key)

Returns the value with the given key from the context. This is only available to aggregate functions.

[ GitHub ]

  
# File 'lib/sqlite3/database.rb', line 679

def [](key)
  @context[key]
end

#[]=(key, value)

Sets the value with the given key in the context. This is only available to aggregate functions.

[ GitHub ]

  
# File 'lib/sqlite3/database.rb', line 685

def []=(key, value)
  @context[key] = value
end