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

46 lines
1,001 B
Ruby
Raw Normal View History

# frozen_string_literal: true
2018-02-24 01:45:50 -05:00
2018-02-24 02:41:47 -05:00
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