Hello community,

here is the log from the commit of package rubygem-arel for openSUSE:Factory 
checked in at 2018-03-06 10:45:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-arel (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-arel.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-arel"

Tue Mar  6 10:45:14 2018 rev:10 rq:548553 version:9.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-arel/rubygem-arel.changes        
2017-03-21 22:50:20.332083719 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-arel.new/rubygem-arel.changes   
2018-03-06 10:45:16.044663789 +0100
@@ -1,0 +2,12 @@
+Sun Dec  3 19:10:16 UTC 2017 - co...@suse.com
+
+- updated to version 9.0.0
+ see installed History.txt
+
+  === 9.0.0 / 2017-11-14
+  
+  * Enhancements
+    * `InsertManager#insert` is now chainable
+    * Support multiple inserts
+
+-------------------------------------------------------------------

Old:
----
  arel-8.0.0.gem

New:
----
  arel-9.0.0.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-arel.spec ++++++
--- /var/tmp/diff_new_pack.EFucrH/_old  2018-03-06 10:45:16.920632140 +0100
+++ /var/tmp/diff_new_pack.EFucrH/_new  2018-03-06 10:45:16.920632140 +0100
@@ -24,17 +24,17 @@
 #
 
 Name:           rubygem-arel
-Version:        8.0.0
+Version:        9.0.0
 Release:        0
 %define mod_name arel
 %define mod_full_name %{mod_name}-%{version}
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+BuildRequires:  %{ruby >= 2.2.2}
 BuildRequires:  %{rubygem gem2rpm}
 BuildRequires:  %{rubygem rdoc > 3.10}
-BuildRequires:  %{ruby}
 BuildRequires:  ruby-macros >= 5
 Url:            https://github.com/rails/arel
-Source:         http://rubygems.org/gems/%{mod_full_name}.gem
+Source:         https://rubygems.org/gems/%{mod_full_name}.gem
 Source1:        gem2rpm.yml
 Summary:        Arel Really Exasperates Logicians
 License:        MIT

++++++ arel-8.0.0.gem -> arel-9.0.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/History.txt new/History.txt
--- old/History.txt     2017-02-21 17:41:11.000000000 +0100
+++ new/History.txt     2017-11-14 20:07:02.000000000 +0100
@@ -1,3 +1,9 @@
+=== 9.0.0 / 2017-11-14
+
+* Enhancements
+  * `InsertManager#insert` is now chainable
+  * Support multiple inserts
+
 === 8.0.0 / 2017-02-21
 
 * Enhancements
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2017-02-21 17:41:11.000000000 +0100
+++ new/README.md       2017-11-14 20:07:02.000000000 +0100
@@ -150,7 +150,14 @@
 users.where(users[:name].eq('bob').or(users[:age].lt(25)))
 ```
 
-The `AND` operator behaves similarly.
+The `AND` operator behaves similarly. Here is an example of the `DISTINCT` 
operator:
+
+```ruby
+posts = Arel::Table.new(:posts)
+posts.project(posts[:title])
+posts.distinct
+posts.to_sql # => 'SELECT DISTINCT "posts"."title" FROM "posts"'
+```
 
 Aggregate functions `AVG`, `SUM`, `COUNT`, `MIN`, `MAX`, `HAVING`:
 
@@ -181,7 +188,7 @@
 # => SELECT AVG(users.age) AS mean_age FROM users
 ```
 
-### The Crazy Features
+### The Advanced Features
 
 The examples above are fairly simple and other libraries match or come close 
to matching the expressiveness of Arel (e.g. `Sequel` in Ruby).
 
@@ -208,6 +215,7 @@
 
 #### Complex Joins
 
+##### Alias
 Where Arel really shines is in its ability to handle complex joins and 
aggregations. As a first example, let's consider an "adjacency list", a tree 
represented in a table. Suppose we have a table `comments`, representing a 
threaded discussion:
 
 ```ruby
@@ -233,6 +241,7 @@
 
 This will return the reply for the first comment.
 
+##### CTE
 [Common Table Expressions 
(CTE)](https://en.wikipedia.org/wiki/Common_table_expressions#Common_table_expression)
 support via:
 
 Create a `CTE`
@@ -255,6 +264,7 @@
 #    FROM users INNER JOIN cte_table ON users.id = cte_table.user_id
 ```
 
+#### Write SQL strings
 When your query is too complex for `Arel`, you can use `Arel::SqlLiteral`:
 
 ```ruby
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/collectors/bind.rb 
new/lib/arel/collectors/bind.rb
--- old/lib/arel/collectors/bind.rb     2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/collectors/bind.rb     2017-11-14 20:07:02.000000000 +0100
@@ -1,36 +1,23 @@
 # frozen_string_literal: true
+
 module Arel
   module Collectors
     class Bind
       def initialize
-        @parts = []
+        @binds = []
       end
 
       def << str
-        @parts << str
         self
       end
 
       def add_bind bind
-        @parts << bind
+        @binds << bind
         self
       end
 
-      def value; @parts; end
-
-      def substitute_binds bvs
-        bvs = bvs.dup
-        @parts.map do |val|
-          if Arel::Nodes::BindParam === val
-            bvs.shift
-          else
-            val
-          end
-        end
-      end
-
-      def compile bvs
-        substitute_binds(bvs).join
+      def value
+        @binds
       end
     end
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/collectors/composite.rb 
new/lib/arel/collectors/composite.rb
--- old/lib/arel/collectors/composite.rb        1970-01-01 01:00:00.000000000 
+0100
+++ new/lib/arel/collectors/composite.rb        2017-11-14 20:07:02.000000000 
+0100
@@ -0,0 +1,32 @@
+# frozen_string_literal: true
+
+module Arel
+  module Collectors
+    class Composite
+      def initialize(left, right)
+        @left = left
+        @right = right
+      end
+
+      def << str
+        left << str
+        right << str
+        self
+      end
+
+      def add_bind bind, &block
+        left.add_bind bind, &block
+        right.add_bind bind, &block
+        self
+      end
+
+      def value
+        [left.value, right.value]
+      end
+
+      protected
+
+      attr_reader :left, :right
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/collectors/sql_string.rb 
new/lib/arel/collectors/sql_string.rb
--- old/lib/arel/collectors/sql_string.rb       2017-02-21 17:41:11.000000000 
+0100
+++ new/lib/arel/collectors/sql_string.rb       2017-11-14 20:07:02.000000000 
+0100
@@ -1,4 +1,3 @@
-# encoding: utf-8
 # frozen_string_literal: true
 
 require 'arel/collectors/plain_string'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/collectors/substitute_binds.rb 
new/lib/arel/collectors/substitute_binds.rb
--- old/lib/arel/collectors/substitute_binds.rb 1970-01-01 01:00:00.000000000 
+0100
+++ new/lib/arel/collectors/substitute_binds.rb 2017-11-14 20:07:02.000000000 
+0100
@@ -0,0 +1,28 @@
+# frozen_string_literal: true
+module Arel
+  module Collectors
+    class SubstituteBinds
+      def initialize(quoter, delegate_collector)
+        @quoter = quoter
+        @delegate = delegate_collector
+      end
+
+      def << str
+        delegate << str
+        self
+      end
+
+      def add_bind bind
+        self << quoter.quote(bind)
+      end
+
+      def value
+        delegate.value
+      end
+
+      protected
+
+      attr_reader :quoter, :delegate
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/insert_manager.rb 
new/lib/arel/insert_manager.rb
--- old/lib/arel/insert_manager.rb      2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/insert_manager.rb      2017-11-14 20:07:02.000000000 +0100
@@ -34,10 +34,15 @@
         end
         @ast.values = create_values values, @ast.columns
       end
+      self
     end
 
     def create_values values, columns
       Nodes::Values.new values, columns
     end
+
+    def create_values_list(rows)
+      Nodes::ValuesList.new(rows)
+    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/bind_param.rb 
new/lib/arel/nodes/bind_param.rb
--- old/lib/arel/nodes/bind_param.rb    2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/nodes/bind_param.rb    2017-11-14 20:07:02.000000000 +0100
@@ -2,8 +2,25 @@
 module Arel
   module Nodes
     class BindParam < Node
-      def ==(other)
-        other.is_a?(BindParam)
+      attr_accessor :value
+
+      def initialize(value)
+        @value = value
+        super()
+      end
+
+      def hash
+        [self.class, self.value].hash
+      end
+
+      def eql?(other)
+        other.is_a?(BindParam) &&
+          value == other.value
+      end
+      alias :== :eql?
+
+      def nil?
+        value.nil?
       end
     end
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/casted.rb new/lib/arel/nodes/casted.rb
--- old/lib/arel/nodes/casted.rb        2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/nodes/casted.rb        2017-11-14 20:07:02.000000000 +0100
@@ -30,7 +30,7 @@
 
     def self.build_quoted other, attribute = nil
       case other
-        when Arel::Nodes::Node, Arel::Attributes::Attribute, Arel::Table, 
Arel::Nodes::BindParam, Arel::SelectManager, Arel::Nodes::Quoted
+        when Arel::Nodes::Node, Arel::Attributes::Attribute, Arel::Table, 
Arel::Nodes::BindParam, Arel::SelectManager, Arel::Nodes::Quoted, 
Arel::Nodes::SqlLiteral
           other
         else
           case attribute
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/count.rb new/lib/arel/nodes/count.rb
--- old/lib/arel/nodes/count.rb 2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/nodes/count.rb 2017-11-14 20:07:02.000000000 +0100
@@ -2,6 +2,8 @@
 module Arel
   module Nodes
     class Count < Arel::Nodes::Function
+      include Math
+
       def initialize expr, distinct = false, aliaz = nil
         super(expr, aliaz)
         @distinct = distinct
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/false.rb new/lib/arel/nodes/false.rb
--- old/lib/arel/nodes/false.rb 2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/nodes/false.rb 2017-11-14 20:07:02.000000000 +0100
@@ -9,6 +9,7 @@
       def eql? other
         self.class == other.class
       end
+      alias :== :eql?
     end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/function.rb 
new/lib/arel/nodes/function.rb
--- old/lib/arel/nodes/function.rb      2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/nodes/function.rb      2017-11-14 20:07:02.000000000 +0100
@@ -29,6 +29,8 @@
           self.alias == other.alias &&
           self.distinct == other.distinct
       end
+      alias :== :eql?
+
     end
 
     %w{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/terminal.rb 
new/lib/arel/nodes/terminal.rb
--- old/lib/arel/nodes/terminal.rb      2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/nodes/terminal.rb      2017-11-14 20:07:02.000000000 +0100
@@ -9,6 +9,7 @@
       def eql? other
         self.class == other.class
       end
+      alias :== :eql?
     end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/true.rb new/lib/arel/nodes/true.rb
--- old/lib/arel/nodes/true.rb  2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/nodes/true.rb  2017-11-14 20:07:02.000000000 +0100
@@ -9,6 +9,7 @@
       def eql? other
         self.class == other.class
       end
+      alias :== :eql?
     end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/values_list.rb 
new/lib/arel/nodes/values_list.rb
--- old/lib/arel/nodes/values_list.rb   1970-01-01 01:00:00.000000000 +0100
+++ new/lib/arel/nodes/values_list.rb   2017-11-14 20:07:02.000000000 +0100
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+module Arel
+  module Nodes
+    class ValuesList < Node
+      attr_reader :rows
+
+      def initialize(rows)
+        @rows = rows
+        super()
+      end
+
+      def hash
+        @rows.hash
+      end
+
+      def eql? other
+        self.class == other.class &&
+          self.rows == other.rows
+      end
+      alias :== :eql?
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/window.rb new/lib/arel/nodes/window.rb
--- old/lib/arel/nodes/window.rb        2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/nodes/window.rb        2017-11-14 20:07:02.000000000 +0100
@@ -107,6 +107,7 @@
       def eql? other
         self.class == other.class
       end
+      alias :== :eql?
     end
 
     class Preceding < Unary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes.rb new/lib/arel/nodes.rb
--- old/lib/arel/nodes.rb       2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/nodes.rb       2017-11-14 20:07:02.000000000 +0100
@@ -44,6 +44,7 @@
 require 'arel/nodes/count'
 require 'arel/nodes/extract'
 require 'arel/nodes/values'
+require 'arel/nodes/values_list'
 require 'arel/nodes/named_function'
 
 # windows
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/tree_manager.rb new/lib/arel/tree_manager.rb
--- old/lib/arel/tree_manager.rb        2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/tree_manager.rb        2017-11-14 20:07:02.000000000 +0100
@@ -5,13 +5,10 @@
   class TreeManager
     include Arel::FactoryMethods
 
-    attr_reader :ast, :engine
-
-    attr_accessor :bind_values
+    attr_reader :ast
 
     def initialize
-      @ctx    = nil
-      @bind_values = []
+      @ctx = nil
     end
 
     def to_dot
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/bind_substitute.rb 
new/lib/arel/visitors/bind_substitute.rb
--- old/lib/arel/visitors/bind_substitute.rb    2017-02-21 17:41:11.000000000 
+0100
+++ new/lib/arel/visitors/bind_substitute.rb    1970-01-01 01:00:00.000000000 
+0100
@@ -1,10 +0,0 @@
-# frozen_string_literal: true
-module Arel
-  module Visitors
-    class BindSubstitute
-      def initialize delegate
-        @delegate = delegate
-      end
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/bind_visitor.rb 
new/lib/arel/visitors/bind_visitor.rb
--- old/lib/arel/visitors/bind_visitor.rb       2017-02-21 17:41:11.000000000 
+0100
+++ new/lib/arel/visitors/bind_visitor.rb       1970-01-01 01:00:00.000000000 
+0100
@@ -1,40 +0,0 @@
-# frozen_string_literal: true
-module Arel
-  module Visitors
-    module BindVisitor
-      def initialize target
-        @block = nil
-        super
-      end
-
-      def accept node, collector, &block
-        @block = block if block_given?
-        super
-      end
-
-      private
-
-      def visit_Arel_Nodes_Assignment o, collector
-        if o.right.is_a? Arel::Nodes::BindParam
-          collector = visit o.left, collector
-          collector << " = "
-          visit o.right, collector
-        else
-          super
-        end
-      end
-
-      def visit_Arel_Nodes_BindParam o, collector
-        if @block
-          val = @block.call
-          if String === val
-            collector << val
-          end
-        else
-          super
-        end
-      end
-
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/informix.rb 
new/lib/arel/visitors/informix.rb
--- old/lib/arel/visitors/informix.rb   2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/visitors/informix.rb   2017-11-14 20:07:02.000000000 +0100
@@ -18,9 +18,7 @@
       end
       def visit_Arel_Nodes_SelectCore o, collector
         collector = inject_join o.projections, collector, ", "
-        froms = false
         if o.source && !o.source.empty?
-          froms = true
           collector << " FROM "
           collector = visit o.source, collector
         end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/oracle.rb 
new/lib/arel/visitors/oracle.rb
--- old/lib/arel/visitors/oracle.rb     2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/visitors/oracle.rb     2017-11-14 20:07:02.000000000 +0100
@@ -29,12 +29,12 @@
           collector = super(o, collector)
 
           if offset.expr.is_a? Nodes::BindParam
-            offset_bind = nil
             collector << ') raw_sql_ WHERE rownum <= ('
-            collector.add_bind(offset.expr) { |i| offset_bind = ":a#{i}" }
+            collector = visit offset.expr, collector
             collector << ' + '
-            collector.add_bind(limit) { |i| ":a#{i}" }
-            collector << ") ) WHERE raw_rnum_ > #{offset_bind}"
+            collector = visit limit, collector
+            collector << ") ) WHERE raw_rnum_ > "
+            collector = visit offset.expr, collector
             return collector
           else
             collector << ") raw_sql_
@@ -145,7 +145,7 @@
       end
 
       def visit_Arel_Nodes_BindParam o, collector
-        collector.add_bind(o) { |i| ":a#{i}" }
+        collector.add_bind(o.value) { |i| ":a#{i}" }
       end
 
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/oracle12.rb 
new/lib/arel/visitors/oracle12.rb
--- old/lib/arel/visitors/oracle12.rb   2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/visitors/oracle12.rb   2017-11-14 20:07:02.000000000 +0100
@@ -53,7 +53,7 @@
       end
 
       def visit_Arel_Nodes_BindParam o, collector
-        collector.add_bind(o) { |i| ":a#{i}" }
+        collector.add_bind(o.value) { |i| ":a#{i}" }
       end
     end
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/postgresql.rb 
new/lib/arel/visitors/postgresql.rb
--- old/lib/arel/visitors/postgresql.rb 2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/visitors/postgresql.rb 2017-11-14 20:07:02.000000000 +0100
@@ -46,7 +46,7 @@
       end
 
       def visit_Arel_Nodes_BindParam o, collector
-        collector.add_bind(o) { |i| "$#{i}" }
+        collector.add_bind(o.value) { |i| "$#{i}" }
       end
 
       def visit_Arel_Nodes_GroupingElement o, collector
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/reduce.rb 
new/lib/arel/visitors/reduce.rb
--- old/lib/arel/visitors/reduce.rb     2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/visitors/reduce.rb     2017-11-14 20:07:02.000000000 +0100
@@ -11,9 +11,10 @@
       private
 
       def visit object, collector
-        send dispatch[object.class], object, collector
+        dispatch_method = dispatch[object.class]
+        send dispatch_method, object, collector
       rescue NoMethodError => e
-        raise e if respond_to?(dispatch[object.class], true)
+        raise e if respond_to?(dispatch_method, true)
         superklass = object.class.ancestors.find { |klass|
           respond_to?(dispatch[klass], true)
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/to_sql.rb 
new/lib/arel/visitors/to_sql.rb
--- old/lib/arel/visitors/to_sql.rb     2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/visitors/to_sql.rb     2017-11-14 20:07:02.000000000 +0100
@@ -166,6 +166,28 @@
         collector << "FALSE"
       end
 
+      def visit_Arel_Nodes_ValuesList o, collector
+        collector << "VALUES "
+
+        len = o.rows.length - 1
+        o.rows.each_with_index { |row, i|
+          collector << '('
+          row_len = row.length - 1
+          row.each_with_index do |value, k|
+            case value
+            when Nodes::SqlLiteral, Nodes::BindParam
+              collector = visit(value, collector)
+            else
+              collector << quote(value)
+            end
+            collector << COMMA unless k == row_len
+          end
+          collector << ')'
+          collector << COMMA unless i == len
+        }
+        collector
+      end
+
       def visit_Arel_Nodes_Values o, collector
         collector << "VALUES ("
 
@@ -405,7 +427,8 @@
       end
 
       def visit_Arel_SelectManager o, collector
-        collector << "(#{o.to_sql.rstrip})"
+        collector << '('
+        visit(o.ast, collector) << ')'
       end
 
       def visit_Arel_Nodes_Ascending o, collector
@@ -715,7 +738,7 @@
       def literal o, collector; collector << o.to_s; end
 
       def visit_Arel_Nodes_BindParam o, collector
-        collector.add_bind(o) { "?" }
+        collector.add_bind(o.value) { "?" }
       end
 
       alias :visit_Arel_Nodes_SqlLiteral :literal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/visitor.rb 
new/lib/arel/visitors/visitor.rb
--- old/lib/arel/visitors/visitor.rb    2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel/visitors/visitor.rb    2017-11-14 20:07:02.000000000 +0100
@@ -27,9 +27,10 @@
       end
 
       def visit object
-        send dispatch[object.class], object
+        dispatch_method = dispatch[object.class]
+        send dispatch_method, object
       rescue NoMethodError => e
-        raise e if respond_to?(dispatch[object.class], true)
+        raise e if respond_to?(dispatch_method, true)
         superklass = object.class.ancestors.find { |klass|
           respond_to?(dispatch[klass], true)
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel.rb new/lib/arel.rb
--- old/lib/arel.rb     2017-02-21 17:41:11.000000000 +0100
+++ new/lib/arel.rb     2017-11-14 20:07:02.000000000 +0100
@@ -24,7 +24,7 @@
 require 'arel/nodes'
 
 module Arel
-  VERSION = '8.0.0'
+  VERSION = '9.0.0'
 
   def self.sql raw_sql
     Arel::Nodes::SqlLiteral.new raw_sql
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2017-02-21 17:41:11.000000000 +0100
+++ new/metadata        2017-11-14 20:07:02.000000000 +0100
@@ -1,7 +1,7 @@
 --- !ruby/object:Gem::Specification
 name: arel
 version: !ruby/object:Gem::Version
-  version: 8.0.0
+  version: 9.0.0
 platform: ruby
 authors:
 - Aaron Patterson
@@ -11,7 +11,7 @@
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2017-02-21 00:00:00.000000000 Z
+date: 2017-11-14 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: minitest
@@ -55,6 +55,20 @@
     - - ">="
       - !ruby/object:Gem::Version
         version: '0'
+- !ruby/object:Gem::Dependency
+  name: concurrent-ruby
+  requirement: !ruby/object:Gem::Requirement
+    requirements:
+    - - "~>"
+      - !ruby/object:Gem::Version
+        version: '1.0'
+  type: :development
+  prerelease: false
+  version_requirements: !ruby/object:Gem::Requirement
+    requirements:
+    - - "~>"
+      - !ruby/object:Gem::Version
+        version: '1.0'
 description: |-
   Arel Really Exasperates Logicians
 
@@ -85,8 +99,10 @@
 - lib/arel/attributes.rb
 - lib/arel/attributes/attribute.rb
 - lib/arel/collectors/bind.rb
+- lib/arel/collectors/composite.rb
 - lib/arel/collectors/plain_string.rb
 - lib/arel/collectors/sql_string.rb
+- lib/arel/collectors/substitute_binds.rb
 - lib/arel/compatibility/wheres.rb
 - lib/arel/crud.rb
 - lib/arel/delete_manager.rb
@@ -135,6 +151,7 @@
 - lib/arel/nodes/unqualified_column.rb
 - lib/arel/nodes/update_statement.rb
 - lib/arel/nodes/values.rb
+- lib/arel/nodes/values_list.rb
 - lib/arel/nodes/window.rb
 - lib/arel/nodes/with.rb
 - lib/arel/order_predications.rb
@@ -144,8 +161,6 @@
 - lib/arel/tree_manager.rb
 - lib/arel/update_manager.rb
 - lib/arel/visitors.rb
-- lib/arel/visitors/bind_substitute.rb
-- lib/arel/visitors/bind_visitor.rb
 - lib/arel/visitors/depth_first.rb
 - lib/arel/visitors/dot.rb
 - lib/arel/visitors/ibm_db.rb
@@ -175,7 +190,7 @@
   requirements:
   - - ">="
     - !ruby/object:Gem::Version
-      version: '0'
+      version: 2.2.2
 required_rubygems_version: !ruby/object:Gem::Requirement
   requirements:
   - - ">="
@@ -183,7 +198,7 @@
       version: '0'
 requirements: []
 rubyforge_project: 
-rubygems_version: 2.6.10
+rubygems_version: 2.6.12
 signing_key: 
 specification_version: 4
 summary: Arel Really Exasperates Logicians  Arel is a SQL AST manager for Ruby


Reply via email to