diff options
Diffstat (limited to 'lib/arel/nodes')
-rw-r--r-- | lib/arel/nodes/node.rb | 7 | ||||
-rw-r--r-- | lib/arel/nodes/not.rb | 11 |
2 files changed, 18 insertions, 0 deletions
diff --git a/lib/arel/nodes/node.rb b/lib/arel/nodes/node.rb index 43bad19488..841b954db9 100644 --- a/lib/arel/nodes/node.rb +++ b/lib/arel/nodes/node.rb @@ -4,6 +4,13 @@ module Arel # Abstract base class for all AST nodes class Node ### + # Factory method to create a Nodes::Not node that has the recipient of + # the caller as a child. + def not + Nodes::Not.new self + end + + ### # Factory method to create a Nodes::Grouping node that has an Nodes::Or # node as a child. def or right diff --git a/lib/arel/nodes/not.rb b/lib/arel/nodes/not.rb new file mode 100644 index 0000000000..d463ae9d08 --- /dev/null +++ b/lib/arel/nodes/not.rb @@ -0,0 +1,11 @@ +module Arel + module Nodes + class Not < Arel::Nodes::Node + attr_reader :expr + + def initialize expr + @expr = expr + end + end + end +end |