Module: ActiveRecord::FinderMethods

Defined in:
lib/active_record/connection_adapters/rubyfb_adapter.rb

Overview

FIXME ugly - but … github.com/rails/rails/issues/1623

Instance Method Summary collapse

Instance Method Details

#exists?(id = nil) ⇒ Boolean

Returns:

  • (Boolean)


77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/active_record/connection_adapters/rubyfb_adapter.rb', line 77

def exists?(id = nil)
  id = id.id if ActiveRecord::Base === id

  join_dependency = construct_join_dependency_for_association_find
  relation = construct_relation_for_association_find(join_dependency)
  relation = relation.except(:select).select("1 as o").limit(1)

  case id
  when Array, Hash
    relation = relation.where(id)
  else
    relation = relation.where(table[primary_key].eq(id)) if id
  end

  connection.select_value(relation.to_sql) ? true : false
end