1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/lib/arel/factory_methods.rb
2014-03-24 16:50:34 -07:00

43 lines
816 B
Ruby

module Arel
###
# Methods for creating various nodes
module FactoryMethods
def create_true
Arel::Nodes::True.new
end
def create_false
Arel::Nodes::False.new
end
def create_table_alias relation, name
Nodes::TableAlias.new(relation, name)
end
def create_join to, constraint = nil, klass = Nodes::InnerJoin
klass.new(to, constraint)
end
def create_string_join to
create_join to, nil, Nodes::StringJoin
end
def create_and clauses
Nodes::And.new clauses
end
def create_on expr
Nodes::On.new expr
end
def grouping expr
Nodes::Grouping.new expr
end
###
# Create a LOWER() function
def lower column
Nodes::NamedFunction.new 'LOWER', [Nodes.build_quoted(column)]
end
end
end