Module: ActiveAny::Relation::FinderMethods

Included in:
ActiveAny::Relation
Defined in:
lib/active_any/relation/finder_methods.rb

Instance Method Summary collapse

Instance Method Details

#find_by(condition) ⇒ Object



6
7
8
# File 'lib/active_any/relation/finder_methods.rb', line 6

def find_by(condition)
  where(condition).take
end

#first(limit = nil) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/active_any/relation/finder_methods.rb', line 10

def first(limit = nil)
  if loaded
    limit ? records.first(limit) : records.first
  else
    limit ? spawn.records.first(limit) : spawn.records.first
  end
end

#last(limit = nil) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/active_any/relation/finder_methods.rb', line 18

def last(limit = nil)
  return find_last(limit) if loaded? || limit_value

  result = limit(limit)
  result.order!(klass.primary_key) if order_clause.empty? && klass.primary_key
  result = result.reverse_order!
  limit ? result.reverse : result.first
end