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