module Lanes::Concerns::Queries::ClassMethods

Public Instance Methods

compose_query_using_detail_view( view: nil, join_to: nil ) click to toggle source
# File lib/lanes/concerns/queries.rb, line 11
def compose_query_using_detail_view( view: nil, join_to: nil )
    join_to ||= self.name.demodulize.tableize.singularize + '_' + primary_key
    q = joins("join #{view} as details on details.#{join_to} = #{table_name}.#{primary_key}")
          .select("details.*")
    if current_scope.nil? || current_scope.select_values.exclude?("#{table_name}.*")
        q = q.select("#{table_name}.*")
    end
    q
end