Method: Ldpath::TapSelector#evaluate

Defined in:
lib/ldpath/selectors.rb

#evaluate(program, uris, context) ⇒ Object



219
220
221
222
223
224
225
226
227
228
229
230
# File 'lib/ldpath/selectors.rb', line 219

def evaluate(program, uris, context)
  return to_enum(:evaluate, program, uris, context) unless block_given?

  program.meta[identifier] = tap.evaluate(program, uris, context).map { |x| RDF::Literal.new(x.to_s).canonicalize.object }

  enum_wrap(uris).map do |uri|
    loading program, uri, context
    enum_flatten_one(evaluate_one(uri, context)).each do |x|
      yield x unless x.nil?
    end
  end
end