Method: RSQL::EvalContext#params

Defined in:
lib/rsql/eval_context.rb

#params(name, block) ⇒ Object (private)

Attempt to locate the parameters of a given block by searching its source.



371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
# File 'lib/rsql/eval_context.rb', line 371

def params(name, block)
    params = nil

    if block.arity != 0 && block.inspect.match(/@(.+):(\d+)>$/)
        fn = $1
        lineno = $2.to_i

        if fn == '(eval)'
            $stderr.puts "refusing to search an eval block for :#{name}"
            return ''
        end

        File.open(fn) do |f|
            params = locate_block_start(name, f, lineno)
        end
    end

    if params.nil?
        $stderr.puts "unable to locate params for :#{name}" if @verbose
        return ''
    end

    return params
end