module Card::Query::AbstractQuery::QueryHelper
shared methods for queries
Public Instance Methods
add_condition(*args)
click to toggle source
# File lib/card/query/abstract_query/query_helper.rb, line 39 def add_condition *args @conditions << if args.size > 1 [args.shift, Query::Value.new(args.shift, self)] else args[0] end end
current_conjunction()
click to toggle source
# File lib/card/query/abstract_query/query_helper.rb, line 48 def current_conjunction "AND" end
direct_subqueries()
click to toggle source
# File lib/card/query/abstract_query/query_helper.rb, line 6 def direct_subqueries subqueries_with_fasten :direct end
fld(field_name)
click to toggle source
# File lib/card/query/abstract_query/query_helper.rb, line 35 def fld field_name "#{table_alias}.#{field_name}" end
subqueries_with_fasten(fasten)
click to toggle source
# File lib/card/query/abstract_query/query_helper.rb, line 10 def subqueries_with_fasten fasten list = [] subqueries.each do |s| next unless Array.wrap(fasten).include? s.fasten list << s list += s.subqueries_with_fasten s.fasten end list end
table_alias()
click to toggle source
# File lib/card/query/abstract_query/query_helper.rb, line 21 def table_alias @table_alias ||= begin if fasten == :direct @superquery.table_alias else "#{table_prefix}#{root.table_seq}#{@table_suffix}" end end end
table_seq()
click to toggle source
# File lib/card/query/abstract_query/query_helper.rb, line 31 def table_seq @table_seq = @table_seq ? (@table_seq + 1) : 0 end