lib/kasket/select_manager_mixin.rb in kasket-3.1.3 vs lib/kasket/select_manager_mixin.rb in kasket-3.1.4
- old
+ new
@@ -1,8 +1,12 @@
module Kasket
module SelectManagerMixin
def to_kasket_query(klass, binds = [])
- query = Kasket::Visitor.new(klass, binds).accept(ast)
+ begin
+ query = Kasket::Visitor.new(klass, binds).accept(ast)
+ rescue TypeError # unsupported object in ast
+ return nil
+ end
return nil if query.nil? || query == :unsupported
return nil if query[:attributes].blank?
query[:index] = query[:attributes].map(&:first)