module NoBrainer::Criteria::VirtualAttributes
Public Instance Methods
compile_rql_pass2()
click to toggle source
Calls superclass method
# File lib/no_brainer/criteria/virtual_attributes.rb, line 4 def compile_rql_pass2 rql = super if model.virtual_fields rql = rql.map do |_doc| model.virtual_fields.reduce(_doc) do |doc, field| field_rql = model.fields[field][:virtual].call(doc, RethinkDB::RQL.new) if field_rql.nil? doc else unless field_rql.is_a?(RethinkDB::RQL) raise "The virtual attribute `#{model}.#{field}' should return a RQL expression" end doc.merge(field => field_rql) end end end end rql end