Module: ActiveRecord::NullRelation

Defined in:
activerecord/lib/active_record/null_relation.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#any?Boolean

Returns:

  • (Boolean)

33
34
35
# File 'activerecord/lib/active_record/null_relation.rb', line 33

def any?
  false
end

#averageObject


53
54
55
# File 'activerecord/lib/active_record/null_relation.rb', line 53

def average(*)
  calculate :average, nil
end

#calculate(operation, _column_name, _options = {}) ⇒ Object


65
66
67
68
69
70
71
72
73
74
75
# File 'activerecord/lib/active_record/null_relation.rb', line 65

def calculate(operation, _column_name, _options = {})
  # TODO: Remove _options argument as soon we remove support to
  # activerecord-deprecated_finders.
  if [:count, :sum, :size].include? operation
    group_values.any? ? Hash.new : 0
  elsif [:average, :minimum, :maximum].include?(operation) && group_values.any?
    Hash.new
  else
    nil
  end
end

#countObject


45
46
47
# File 'activerecord/lib/active_record/null_relation.rb', line 45

def count(*)
  calculate :count, nil
end

#delete(_id_or_array) ⇒ Object


21
22
23
# File 'activerecord/lib/active_record/null_relation.rb', line 21

def delete(_id_or_array)
  0
end

#delete_all(_conditions = nil) ⇒ Object


13
14
15
# File 'activerecord/lib/active_record/null_relation.rb', line 13

def delete_all(_conditions = nil)
  0
end

#empty?Boolean

Returns:

  • (Boolean)

29
30
31
# File 'activerecord/lib/active_record/null_relation.rb', line 29

def empty?
  true
end

#exec_queriesObject


5
6
7
# File 'activerecord/lib/active_record/null_relation.rb', line 5

def exec_queries
  @records = []
end

#exists?(_id = false) ⇒ Boolean

Returns:

  • (Boolean)

77
78
79
# File 'activerecord/lib/active_record/null_relation.rb', line 77

def exists?(_id = false)
  false
end

#many?Boolean

Returns:

  • (Boolean)

37
38
39
# File 'activerecord/lib/active_record/null_relation.rb', line 37

def many?
  false
end

#maximumObject


61
62
63
# File 'activerecord/lib/active_record/null_relation.rb', line 61

def maximum(*)
  calculate :maximum, nil
end

#minimumObject


57
58
59
# File 'activerecord/lib/active_record/null_relation.rb', line 57

def minimum(*)
  calculate :minimum, nil
end

#pluck(*column_names) ⇒ Object


9
10
11
# File 'activerecord/lib/active_record/null_relation.rb', line 9

def pluck(*column_names)
  []
end

#sizeObject


25
26
27
# File 'activerecord/lib/active_record/null_relation.rb', line 25

def size
  calculate :size, nil
end

#sumObject


49
50
51
# File 'activerecord/lib/active_record/null_relation.rb', line 49

def sum(*)
  calculate :sum, nil
end

#to_sqlObject


41
42
43
# File 'activerecord/lib/active_record/null_relation.rb', line 41

def to_sql
  ""
end

#update_all(_updates, _conditions = nil, _options = {}) ⇒ Object


17
18
19
# File 'activerecord/lib/active_record/null_relation.rb', line 17

def update_all(_updates, _conditions = nil, _options = {})
  0
end