Sha256: b5a0dbce868c3705059100d17957f9dabe5cd2b530c0f115f246f425c8bf8024
Contents?: true
Size: 655 Bytes
Versions: 3
Compression:
Stored size: 655 Bytes
Contents
module SearchCop class QueryBuilder attr_accessor :query_info, :scope, :sql def initialize(model, query, scope) self.scope = scope self.query_info = QueryInfo.new(model, scope) arel = SearchCop::Parser.parse(query, query_info).optimize! self.sql = model.connection.visitor.accept(arel) end def associations all_associations - [query_info.model.name.tableize.to_sym] end private def all_associations scope.reflection.attributes.values.flatten.uniq.collect { |column| column.split(".").first }.collect { |column| scope.reflection.aliases[column] || column.to_sym } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
search_cop-1.0.2 | lib/search_cop/query_builder.rb |
search_cop-1.0.1 | lib/search_cop/query_builder.rb |
search_cop-1.0.0 | lib/search_cop/query_builder.rb |