Sha256: 19bf92bc5fbf84396516b8ee32c7e11199e75a57b9c4bee0b1c8ebd22c31a1c8
Contents?: true
Size: 894 Bytes
Versions: 17
Compression:
Stored size: 894 Bytes
Contents
class Card::Query class RefSpec < Spec REFSPECS = { :refer_to => ['referer_id','referee_id',''], :link_to => ['referer_id','referee_id',"ref_type='L' AND"], :include => ['referer_id','referee_id',"ref_type='I' AND"], :link_to_missing=> ['referer_id','referee_id',"present = 0 AND ref_type='L'"], :referred_to_by => ['referee_id','referer_id',''], :linked_to_by => ['referee_id','referer_id',"ref_type='L' AND"], :included_by => ['referee_id','referer_id',"ref_type='I' AND"] } def initialize key, cardspec @key, @cardspec = key, cardspec end def to_sql *args field1, field2, where = REFSPECS[ @key.to_sym ] and_where = @key != :link_to_missing && "#{ field2 } IN #{ @cardspec.to_sql }" %{(select #{field1} from card_references where #{where} #{and_where})} end end end
Version data entries
17 entries across 17 versions & 1 rubygems