mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
c22abda79b
*** Individual commit messages included below *** * Preliminary support for bitwise operations as infix operators. Tests to follow. * Added bitwise xor, shift left and shift right operators * Fixed the BitwiseOr class so it uses the :| operator instead of :& * All the methods for the bitwise operators in the Arel::Math module now wrap them up in Arel::Nodes::Grouping so the operation becomes isolated like addition and subtraction * Preliminary set of tests for the new operators * Updated README with examples of bitwise operations * Added a new UnaryOperation class which is a riff on the InfixOperation class * Added tests for UnaryOperation (inspired by InfixOperation tests) * Added the bitwise not (~) operator as a UnaryOperation * Added tests for the bitwise not operator * Added documentation for the bitwise not operator * Updated gemspec using `rake arel.gemspec`
63 lines
1.5 KiB
Ruby
63 lines
1.5 KiB
Ruby
# node
|
|
require 'arel/nodes/node'
|
|
require 'arel/nodes/select_statement'
|
|
require 'arel/nodes/select_core'
|
|
require 'arel/nodes/insert_statement'
|
|
require 'arel/nodes/update_statement'
|
|
require 'arel/nodes/bind_param'
|
|
|
|
# terminal
|
|
|
|
require 'arel/nodes/terminal'
|
|
require 'arel/nodes/true'
|
|
require 'arel/nodes/false'
|
|
|
|
# unary
|
|
require 'arel/nodes/unary'
|
|
require 'arel/nodes/grouping'
|
|
require 'arel/nodes/ascending'
|
|
require 'arel/nodes/descending'
|
|
require 'arel/nodes/unqualified_column'
|
|
require 'arel/nodes/with'
|
|
|
|
# binary
|
|
require 'arel/nodes/binary'
|
|
require 'arel/nodes/equality'
|
|
require 'arel/nodes/in' # Why is this subclassed from equality?
|
|
require 'arel/nodes/join_source'
|
|
require 'arel/nodes/delete_statement'
|
|
require 'arel/nodes/table_alias'
|
|
require 'arel/nodes/infix_operation'
|
|
require 'arel/nodes/unary_operation'
|
|
require 'arel/nodes/over'
|
|
require 'arel/nodes/matches'
|
|
require 'arel/nodes/regexp'
|
|
|
|
# nary
|
|
require 'arel/nodes/and'
|
|
|
|
# function
|
|
# FIXME: Function + Alias can be rewritten as a Function and Alias node.
|
|
# We should make Function a Unary node and deprecate the use of "aliaz"
|
|
require 'arel/nodes/function'
|
|
require 'arel/nodes/count'
|
|
require 'arel/nodes/extract'
|
|
require 'arel/nodes/values'
|
|
require 'arel/nodes/named_function'
|
|
|
|
# windows
|
|
require 'arel/nodes/window'
|
|
|
|
# conditional expressions
|
|
require 'arel/nodes/case'
|
|
|
|
# joins
|
|
require 'arel/nodes/full_outer_join'
|
|
require 'arel/nodes/inner_join'
|
|
require 'arel/nodes/outer_join'
|
|
require 'arel/nodes/right_outer_join'
|
|
require 'arel/nodes/string_join'
|
|
|
|
require 'arel/nodes/sql_literal'
|
|
|
|
require 'arel/nodes/casted'
|