module Card::Query::AbstractQuery::QueryHelper
shared methods for queries
Public Instance Methods
Source
# File lib/card/query/abstract_query/query_helper.rb, line 38 def add_condition *args @conditions << if args.size > 1 [args.shift, Query::Value.new(args.shift, self)] else args[0] end end
Source
# File lib/card/query/abstract_query/query_helper.rb, line 47 def current_conjunction "AND" end
Source
# File lib/card/query/abstract_query/query_helper.rb, line 6 def direct_subqueries subqueries_with_fasten :direct end
Source
# File lib/card/query/abstract_query/query_helper.rb, line 34 def fld field_name "#{table_alias}.#{field_name}" end
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
Source
# File lib/card/query/abstract_query/query_helper.rb, line 21 def table_alias @table_alias ||= if fasten == :direct @superquery.table_alias else "#{table_prefix}#{root.table_seq}#{@table_suffix}" end end
Source
# File lib/card/query/abstract_query/query_helper.rb, line 30 def table_seq @table_seq = @table_seq ? (@table_seq + 1) : 0 end