I think you can actually do all this without Squeel and without writing SQL.

signed_contracts = FinePrint::Contract
.where(name: options[:names].collect{|name| name.to_s}, is_latest: true)
.joins(:signatures)
.where(signatures: {user_id: options[:user].id, user_type: options[:user].class.name}

I can change this for you if you'd like.