123456789_123456789_123456789_123456789_123456789_

Class: ActiveRecord::Relation::ExplainProxy

Do not use. This class is for internal use only.
Relationships & Source Files
Inherits: Object
Defined in: activerecord/lib/active_record/relation.rb

Class Method Summary

Instance Method Summary

Constructor Details

.new(relation, options) ⇒ ExplainProxy

[ GitHub ]

  
# File 'activerecord/lib/active_record/relation.rb', line 9

def initialize(relation, options)
  @relation = relation
  @options  = options
end

Instance Method Details

#average(column_name)

[ GitHub ]

  
# File 'activerecord/lib/active_record/relation.rb', line 18

def average(column_name)
  exec_explain { @relation.average(column_name) }
end

#count(column_name = nil)

[ GitHub ]

  
# File 'activerecord/lib/active_record/relation.rb', line 22

def count(column_name = nil)
  exec_explain { @relation.count(column_name) }
end

#exec_explain(&block) (private)

[ GitHub ]

  
# File 'activerecord/lib/active_record/relation.rb', line 51

def exec_explain(&block)
  @relation.exec_explain(@relation.collecting_queries_for_explain { block.call }, @options)
end

#first(limit = nil)

[ GitHub ]

  
# File 'activerecord/lib/active_record/relation.rb', line 26

def first(limit = nil)
  exec_explain { @relation.first(limit) }
end

#inspect

[ GitHub ]

  
# File 'activerecord/lib/active_record/relation.rb', line 14

def inspect
  exec_explain { @relation.send(:exec_queries) }
end

#last(limit = nil)

[ GitHub ]

  
# File 'activerecord/lib/active_record/relation.rb', line 30

def last(limit = nil)
  exec_explain { @relation.last(limit) }
end

#maximum(column_name)

[ GitHub ]

  
# File 'activerecord/lib/active_record/relation.rb', line 34

def maximum(column_name)
  exec_explain { @relation.maximum(column_name) }
end

#minimum(column_name)

[ GitHub ]

  
# File 'activerecord/lib/active_record/relation.rb', line 38

def minimum(column_name)
  exec_explain { @relation.minimum(column_name) }
end

#pluck(*column_names)

[ GitHub ]

  
# File 'activerecord/lib/active_record/relation.rb', line 42

def pluck(*column_names)
  exec_explain { @relation.pluck(*column_names) }
end

#sum(identity_or_column = nil)

[ GitHub ]

  
# File 'activerecord/lib/active_record/relation.rb', line 46

def sum(identity_or_column = nil)
  exec_explain { @relation.sum(identity_or_column) }
end