diff options
Diffstat (limited to 'lib/arel/factory_methods.rb')
-rw-r--r-- | lib/arel/factory_methods.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/arel/factory_methods.rb b/lib/arel/factory_methods.rb new file mode 100644 index 0000000000..09b82c0555 --- /dev/null +++ b/lib/arel/factory_methods.rb @@ -0,0 +1,25 @@ +module Arel + ### + # Methods for creating various nodes + module FactoryMethods + 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 + end +end |