diff --git a/lib/arel/nodes/and.rb b/lib/arel/nodes/and.rb index 0d0fb3ee824c19481a7e596ea4a8f6003deac2f2..62e8ef6f11aad2b39b6f3ae856e465762edd6851 100644 --- a/lib/arel/nodes/and.rb +++ b/lib/arel/nodes/and.rb @@ -4,6 +4,7 @@ class And < Arel::Nodes::Node attr_reader :children def initialize children, right = nil + super() unless Array === children warn "(#{caller.first}) AND nodes should be created with a list" children = [children, right] diff --git a/lib/arel/nodes/binary.rb b/lib/arel/nodes/binary.rb index d55c7a54784b951852fe017bd7870805e292fe76..0e7e281b4b1e599ba67e87fb06efd1f5ad958158 100644 --- a/lib/arel/nodes/binary.rb +++ b/lib/arel/nodes/binary.rb @@ -4,6 +4,7 @@ class Binary < Arel::Nodes::Node attr_accessor :left, :right def initialize left, right + super() @left = left @right = right end diff --git a/lib/arel/nodes/function.rb b/lib/arel/nodes/function.rb index 90bbf4a77b46a0af6e381b01057729dd06c5c5c8..dcafbbf1f4cf21217e3790784330efa9144f2e78 100644 --- a/lib/arel/nodes/function.rb +++ b/lib/arel/nodes/function.rb @@ -7,6 +7,7 @@ class Function < Arel::Nodes::Node attr_accessor :expressions, :alias, :distinct def initialize expr, aliaz = nil + super() @expressions = expr @alias = aliaz && SqlLiteral.new(aliaz) @distinct = false diff --git a/lib/arel/nodes/insert_statement.rb b/lib/arel/nodes/insert_statement.rb index 518160cce4f95bdc207964d3bcb3796ed6b16712..ec8870a1c2b797d707eadc35f775f33063ff49ee 100644 --- a/lib/arel/nodes/insert_statement.rb +++ b/lib/arel/nodes/insert_statement.rb @@ -4,6 +4,7 @@ class InsertStatement < Arel::Nodes::Node attr_accessor :relation, :columns, :values def initialize + super() @relation = nil @columns = [] @values = nil diff --git a/lib/arel/nodes/node.rb b/lib/arel/nodes/node.rb index 84dcb1cdf521825e2efb1dffa5517aab9439f3f9..f10487ff6baf647bcfa4a43b5231fe64c47906a6 100644 --- a/lib/arel/nodes/node.rb +++ b/lib/arel/nodes/node.rb @@ -6,6 +6,9 @@ class Node include Arel::FactoryMethods include Enumerable + def initialize + end + ### # Factory method to create a Nodes::Not node that has the recipient of # the caller as a child. diff --git a/lib/arel/nodes/select_core.rb b/lib/arel/nodes/select_core.rb index 3b400c768d2003ac6eb195e9b033f152351c0bff..09ae420aa187f673daa2fd0cafb07221ba21c071 100644 --- a/lib/arel/nodes/select_core.rb +++ b/lib/arel/nodes/select_core.rb @@ -5,6 +5,7 @@ class SelectCore < Arel::Nodes::Node attr_accessor :having, :source, :set_quantifier def initialize + super() @source = JoinSource.new nil @top = nil diff --git a/lib/arel/nodes/select_statement.rb b/lib/arel/nodes/select_statement.rb index 32bdd7080c8ed8843612e40fe60563727623a75a..830ac27046ac4ef29837711c38909576f6e3e6f1 100644 --- a/lib/arel/nodes/select_statement.rb +++ b/lib/arel/nodes/select_statement.rb @@ -5,6 +5,7 @@ class SelectStatement < Arel::Nodes::Node attr_accessor :limit, :orders, :lock, :offset, :with def initialize cores = [SelectCore.new] + super() @cores = cores @orders = [] @limit = nil diff --git a/lib/arel/nodes/unary.rb b/lib/arel/nodes/unary.rb index 42c31267dd543c53d57345d89698f1670f51bef6..3d4a4b014a900453eb4068e1da22fa6272c08712 100644 --- a/lib/arel/nodes/unary.rb +++ b/lib/arel/nodes/unary.rb @@ -5,6 +5,7 @@ class Unary < Arel::Nodes::Node alias :value :expr def initialize expr + super() @expr = expr end