class Sequel::SQL::DelayedEvaluation

Represents a delayed evaluation, encapsulating a callable object which returns the value to use when called.

Attributes

callable[R]

A callable object that returns the value of the evaluation when called.

Public Class Methods

new(callable) click to toggle source

Set the callable object

     # File lib/sequel/sql.rb
1276 def initialize(callable)
1277   @callable = callable
1278   freeze
1279 end

Public Instance Methods

call(ds) click to toggle source

Call the underlying callable and return the result. If the underlying callable only accepts a single argument, call it with the given dataset.

     # File lib/sequel/sql.rb
1284 def call(ds)
1285   if @callable.respond_to?(:arity) && @callable.arity == 1
1286     @callable.call(ds)
1287   else
1288     @callable.call
1289   end
1290 end