1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activerecord/lib/arel/math.rb
2018-02-24 18:11:47 +10:30

45 lines
1,001 B
Ruby

# frozen_string_literal: true
module Arel # :nodoc: all
module Math
def *(other)
Arel::Nodes::Multiplication.new(self, other)
end
def +(other)
Arel::Nodes::Grouping.new(Arel::Nodes::Addition.new(self, other))
end
def -(other)
Arel::Nodes::Grouping.new(Arel::Nodes::Subtraction.new(self, other))
end
def /(other)
Arel::Nodes::Division.new(self, other)
end
def &(other)
Arel::Nodes::Grouping.new(Arel::Nodes::BitwiseAnd.new(self, other))
end
def |(other)
Arel::Nodes::Grouping.new(Arel::Nodes::BitwiseOr.new(self, other))
end
def ^(other)
Arel::Nodes::Grouping.new(Arel::Nodes::BitwiseXor.new(self, other))
end
def <<(other)
Arel::Nodes::Grouping.new(Arel::Nodes::BitwiseShiftLeft.new(self, other))
end
def >>(other)
Arel::Nodes::Grouping.new(Arel::Nodes::BitwiseShiftRight.new(self, other))
end
def ~@
Arel::Nodes::BitwiseNot.new(self)
end
end
end