module VirtualView::ActiveRecord::Relation

Public Class Methods

prepended(subclass) click to toggle source
# File lib/virtual_view/active_record/relation.rb, line 8
def self.prepended(subclass)
  class << subclass
    class_attribute :arel_view
    self.arel_view = false
  end
  subclass.extend(ClassMethods)
end

Public Instance Methods

arel_view() click to toggle source
# File lib/virtual_view/active_record/relation.rb, line 16
def arel_view
  self.class.arel_view.call.tap do |ar_view|
    unless ar_view.projections.any?
      ar_view.project(arel_table[Arel.star])
    end
  end
end
from_clause() click to toggle source
# File lib/virtual_view/active_record/relation.rb, line 28
def from_clause
  ::ActiveRecord::Relation::FromClause.new(table_view, table_name)
end
from_value() click to toggle source
# File lib/virtual_view/active_record/relation.rb, line 32
def from_value
  table_view.to_sql
end
table_view() click to toggle source
# File lib/virtual_view/active_record/relation.rb, line 24
def table_view
  arel_table.create_table_alias(arel_view, table_name)
end