class Ansr::Arel::Visitors::QueryBuilder
Attributes
table[R]
Public Class Methods
new(table)
click to toggle source
# File lib/ansr/arel/visitors/query_builder.rb, line 4 def initialize(table) @table = table end
Public Instance Methods
field_key_from_node(node)
click to toggle source
# File lib/ansr/arel/visitors/query_builder.rb, line 37 def field_key_from_node(node) table.model.field_name(node) end
multiple?(field_key)
click to toggle source
determines whether multiple values should accumulate or overwrite in merges
# File lib/ansr/arel/visitors/query_builder.rb, line 42 def multiple?(field_key) false end
visit(object, attribute=nil)
click to toggle source
Calls superclass method
# File lib/ansr/arel/visitors/query_builder.rb, line 8 def visit(object, attribute=nil) super(object, attribute) end
visit_Ansr_Arel_BigTable(object, attribute)
click to toggle source
# File lib/ansr/arel/visitors/query_builder.rb, line 12 def visit_Ansr_Arel_BigTable(object, attribute) visit object.name, attribute if Ansr::Arel::Visitors::From === attribute @table = object if Ansr::Arel::BigTable === object and Ansr::Arel::Visitors::From === attribute end
visit_Arel_Nodes_And(object, attribute)
click to toggle source
# File lib/ansr/arel/visitors/query_builder.rb, line 33 def visit_Arel_Nodes_And(object, attribute) visit(object.children, attribute) end
visit_Arel_Nodes_SelectCore(object, attribute)
click to toggle source
# File lib/ansr/arel/visitors/query_builder.rb, line 17 def visit_Arel_Nodes_SelectCore(object, attribute) visit(object.froms, From.new(attribute)) if object.froms object.projections.each { |x| visit(x, attribute) } object.wheres.each { |x| visit(x, attribute) } object.groups.each {|x| visit(x, attribute) if x} self end
visit_Array(o, a)
click to toggle source
# File lib/ansr/arel/visitors/query_builder.rb, line 29 def visit_Array o, a o.map { |x| visit x, a } end
visit_Symbol(o, a)
click to toggle source
# File lib/ansr/arel/visitors/query_builder.rb, line 25 def visit_Symbol o, a visit o.to_s, a end