Hello community,

here is the log from the commit of package rubygem-arel for openSUSE:Factory 
checked in at 2017-03-21 22:50:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-arel (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-arel.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-arel"

Tue Mar 21 22:50:19 2017 rev:9 rq:479673 version:8.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-arel/rubygem-arel.changes        
2016-11-10 13:22:38.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-arel.new/rubygem-arel.changes   
2017-03-21 22:50:20.332083719 +0100
@@ -1,0 +2,6 @@
+Wed Feb 22 05:31:30 UTC 2017 - co...@suse.com
+
+- updated to version 8.0.0
+ see installed History.txt
+
+-------------------------------------------------------------------

Old:
----
  arel-7.1.4.gem

New:
----
  arel-8.0.0.gem

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

Other differences:
------------------
++++++ rubygem-arel.spec ++++++
--- /var/tmp/diff_new_pack.KYCgGM/_old  2017-03-21 22:50:21.171964983 +0100
+++ /var/tmp/diff_new_pack.KYCgGM/_new  2017-03-21 22:50:21.175964417 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-arel
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-arel
-Version:        7.1.4
+Version:        8.0.0
 Release:        0
 %define mod_name arel
 %define mod_full_name %{mod_name}-%{version}

++++++ arel-7.1.4.gem -> arel-8.0.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/History.txt new/History.txt
--- old/History.txt     2016-10-10 06:19:21.000000000 +0200
+++ new/History.txt     2017-02-21 17:41:11.000000000 +0100
@@ -1,29 +1,15 @@
-=== 7.1.4 / 2016-10-10
+=== 8.0.0 / 2017-02-21
 
-* bug fixes
+* Enhancements
 
-  * Remove deprecated usage inside arel.
-
-=== 7.1.3 / 2016-10-07
-
-* bug fixes
-
-  * Remove union mapping as :binary node when performing DepthFirst enumeration
-  * Fix invalid BindParam output in Dot visitor
-  * Add Arel::Nodes::Casted to dot visitor
-  * Use Arel::Nodes::BindParam in Oracle visitor for queries using both LIMIT 
and OFFSET
-
-=== 7.1.2 / 2016-09-13
-
-* bug fixes
-
-  * Don't store all aliases to a table
+  * Remove deprecated type casting support in Arel
+  * Frozen all string literals in Arel
 
 === 7.1.1 / 2016-07-27
 
-* bug fixes
+* Bug Fixes
 
-  * fix warning in `casted#hash`
+  * Fix warning in `Casted#hash`
 
 === 7.1.0 / 2016-07-19
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2016-10-10 06:19:21.000000000 +0200
+++ new/README.md       2017-02-21 17:41:11.000000000 +0100
@@ -1,6 +1,7 @@
 # Arel
 
 * http://github.com/rails/arel
+* [API Documentation](http://www.rubydoc.info/github/rails/arel)
 
 ## DESCRIPTION
 
@@ -97,7 +98,7 @@
 # => SELECT * FROM "users"  WHERE ("users"."bitmap" >> 1) > 0
 
 users.where((~ users[:bitmap]).gt(0)).project(Arel.sql('*'))
-# => SELECT FROM "users" WHERE  ~ "users"."bitmap" > 0
+# => SELECT * FROM "users" WHERE  ~ "users"."bitmap" > 0
 ```
 
 Joins resemble SQL strongly:
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/alias_predication.rb 
new/lib/arel/alias_predication.rb
--- old/lib/arel/alias_predication.rb   2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/alias_predication.rb   2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module AliasPredication
     def as other
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/attributes/attribute.rb 
new/lib/arel/attributes/attribute.rb
--- old/lib/arel/attributes/attribute.rb        2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/attributes/attribute.rb        2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Attributes
     class Attribute < Struct.new :relation, :name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/attributes.rb new/lib/arel/attributes.rb
--- old/lib/arel/attributes.rb  2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/attributes.rb  2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 require 'arel/attributes/attribute'
 
 module Arel
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     2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/collectors/bind.rb     2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Collectors
     class Bind
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/collectors/plain_string.rb 
new/lib/arel/collectors/plain_string.rb
--- old/lib/arel/collectors/plain_string.rb     2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/collectors/plain_string.rb     2017-02-21 17:41:11.000000000 
+0100
@@ -1,8 +1,9 @@
+# frozen_string_literal: true
 module Arel
   module Collectors
     class PlainString
       def initialize
-        @str = ''
+        @str = ''.dup
       end
 
       def value
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       2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/collectors/sql_string.rb       2017-02-21 17:41:11.000000000 
+0100
@@ -1,4 +1,5 @@
 # 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/compatibility/wheres.rb 
new/lib/arel/compatibility/wheres.rb
--- old/lib/arel/compatibility/wheres.rb        2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/compatibility/wheres.rb        2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Compatibility # :nodoc:
     class Wheres # :nodoc:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/crud.rb new/lib/arel/crud.rb
--- old/lib/arel/crud.rb        2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/crud.rb        2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   ###
   # FIXME hopefully we can remove this
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/delete_manager.rb 
new/lib/arel/delete_manager.rb
--- old/lib/arel/delete_manager.rb      2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/delete_manager.rb      2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   class DeleteManager < Arel::TreeManager
     def initialize
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/errors.rb new/lib/arel/errors.rb
--- old/lib/arel/errors.rb      1970-01-01 01:00:00.000000000 +0100
+++ new/lib/arel/errors.rb      2017-02-21 17:41:11.000000000 +0100
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+module Arel
+  class ArelError < StandardError
+  end
+
+  class EmptyJoinError < ArelError
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/expressions.rb new/lib/arel/expressions.rb
--- old/lib/arel/expressions.rb 2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/expressions.rb 2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Expressions
     def count distinct = false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/factory_methods.rb 
new/lib/arel/factory_methods.rb
--- old/lib/arel/factory_methods.rb     2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/factory_methods.rb     2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   ###
   # Methods for creating various nodes
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      2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/insert_manager.rb      2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   class InsertManager < Arel::TreeManager
     def initialize
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/math.rb new/lib/arel/math.rb
--- old/lib/arel/math.rb        2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/math.rb        2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Math
     def *(other)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/and.rb new/lib/arel/nodes/and.rb
--- old/lib/arel/nodes/and.rb   2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/and.rb   2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class And < Arel::Nodes::Node
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/ascending.rb 
new/lib/arel/nodes/ascending.rb
--- old/lib/arel/nodes/ascending.rb     2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/ascending.rb     2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Ascending < Ordering
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/binary.rb new/lib/arel/nodes/binary.rb
--- old/lib/arel/nodes/binary.rb        2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/binary.rb        2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Binary < Arel::Nodes::Node
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    2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/bind_param.rb    2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class BindParam < Node
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/case.rb new/lib/arel/nodes/case.rb
--- old/lib/arel/nodes/case.rb  2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/case.rb  2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Case < Arel::Nodes::Node
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        2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/casted.rb        2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Casted < Arel::Nodes::Node # :nodoc:
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 2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/count.rb 2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Count < Arel::Nodes::Function
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/delete_statement.rb 
new/lib/arel/nodes/delete_statement.rb
--- old/lib/arel/nodes/delete_statement.rb      2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/nodes/delete_statement.rb      2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class DeleteStatement < Arel::Nodes::Binary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/descending.rb 
new/lib/arel/nodes/descending.rb
--- old/lib/arel/nodes/descending.rb    2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/descending.rb    2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Descending < Ordering
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/equality.rb 
new/lib/arel/nodes/equality.rb
--- old/lib/arel/nodes/equality.rb      2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/equality.rb      2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Equality < Arel::Nodes::Binary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/extract.rb 
new/lib/arel/nodes/extract.rb
--- old/lib/arel/nodes/extract.rb       2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/extract.rb       2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Extract < Arel::Nodes::Unary
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 2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/false.rb 2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class False < Arel::Nodes::Node
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/full_outer_join.rb 
new/lib/arel/nodes/full_outer_join.rb
--- old/lib/arel/nodes/full_outer_join.rb       2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/nodes/full_outer_join.rb       2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class FullOuterJoin < Arel::Nodes::Join
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      2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/function.rb      2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Function < Arel::Nodes::Node
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/grouping.rb 
new/lib/arel/nodes/grouping.rb
--- old/lib/arel/nodes/grouping.rb      2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/grouping.rb      2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Grouping < Unary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/in.rb new/lib/arel/nodes/in.rb
--- old/lib/arel/nodes/in.rb    2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/in.rb    2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class In < Equality
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/infix_operation.rb 
new/lib/arel/nodes/infix_operation.rb
--- old/lib/arel/nodes/infix_operation.rb       2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/nodes/infix_operation.rb       2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/inner_join.rb 
new/lib/arel/nodes/inner_join.rb
--- old/lib/arel/nodes/inner_join.rb    2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/inner_join.rb    2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class InnerJoin < Arel::Nodes::Join
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/insert_statement.rb 
new/lib/arel/nodes/insert_statement.rb
--- old/lib/arel/nodes/insert_statement.rb      2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/nodes/insert_statement.rb      2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class InsertStatement < Arel::Nodes::Node
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/join_source.rb 
new/lib/arel/nodes/join_source.rb
--- old/lib/arel/nodes/join_source.rb   2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/join_source.rb   2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     ###
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/matches.rb 
new/lib/arel/nodes/matches.rb
--- old/lib/arel/nodes/matches.rb       2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/matches.rb       2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Matches < Binary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/named_function.rb 
new/lib/arel/nodes/named_function.rb
--- old/lib/arel/nodes/named_function.rb        2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/nodes/named_function.rb        2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class NamedFunction < Arel::Nodes::Function
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/node.rb new/lib/arel/nodes/node.rb
--- old/lib/arel/nodes/node.rb  2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/node.rb  2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 require 'arel/collectors/sql_string'
 
 module Arel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/outer_join.rb 
new/lib/arel/nodes/outer_join.rb
--- old/lib/arel/nodes/outer_join.rb    2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/outer_join.rb    2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class OuterJoin < Arel::Nodes::Join
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/over.rb new/lib/arel/nodes/over.rb
--- old/lib/arel/nodes/over.rb  2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/over.rb  2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/regexp.rb new/lib/arel/nodes/regexp.rb
--- old/lib/arel/nodes/regexp.rb        2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/regexp.rb        2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Regexp < Binary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/right_outer_join.rb 
new/lib/arel/nodes/right_outer_join.rb
--- old/lib/arel/nodes/right_outer_join.rb      2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/nodes/right_outer_join.rb      2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class RightOuterJoin < Arel::Nodes::Join
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/select_core.rb 
new/lib/arel/nodes/select_core.rb
--- old/lib/arel/nodes/select_core.rb   2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/select_core.rb   2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class SelectCore < Arel::Nodes::Node
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/select_statement.rb 
new/lib/arel/nodes/select_statement.rb
--- old/lib/arel/nodes/select_statement.rb      2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/nodes/select_statement.rb      2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class SelectStatement < Arel::Nodes::Node
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/sql_literal.rb 
new/lib/arel/nodes/sql_literal.rb
--- old/lib/arel/nodes/sql_literal.rb   2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/sql_literal.rb   2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class SqlLiteral < String
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/string_join.rb 
new/lib/arel/nodes/string_join.rb
--- old/lib/arel/nodes/string_join.rb   2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/string_join.rb   2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class StringJoin < Arel::Nodes::Join
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/table_alias.rb 
new/lib/arel/nodes/table_alias.rb
--- old/lib/arel/nodes/table_alias.rb   2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/table_alias.rb   2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class TableAlias < Arel::Nodes::Binary
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      2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/terminal.rb      2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Distinct < Arel::Nodes::Node
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  2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/true.rb  2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class True < Arel::Nodes::Node
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/unary.rb new/lib/arel/nodes/unary.rb
--- old/lib/arel/nodes/unary.rb 2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/unary.rb 2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Unary < Arel::Nodes::Node
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/unary_operation.rb 
new/lib/arel/nodes/unary_operation.rb
--- old/lib/arel/nodes/unary_operation.rb       2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/nodes/unary_operation.rb       2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/unqualified_column.rb 
new/lib/arel/nodes/unqualified_column.rb
--- old/lib/arel/nodes/unqualified_column.rb    2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/nodes/unqualified_column.rb    2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class UnqualifiedColumn < Arel::Nodes::Unary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/update_statement.rb 
new/lib/arel/nodes/update_statement.rb
--- old/lib/arel/nodes/update_statement.rb      2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/nodes/update_statement.rb      2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class UpdateStatement < Arel::Nodes::Node
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/values.rb new/lib/arel/nodes/values.rb
--- old/lib/arel/nodes/values.rb        2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/values.rb        2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Values < Arel::Nodes::Binary
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        2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/window.rb        2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class Window < Arel::Nodes::Node
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/nodes/with.rb new/lib/arel/nodes/with.rb
--- old/lib/arel/nodes/with.rb  2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes/with.rb  2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Nodes
     class With < Arel::Nodes::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       2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/nodes.rb       2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 # node
 require 'arel/nodes/node'
 require 'arel/nodes/select_statement'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/order_predications.rb 
new/lib/arel/order_predications.rb
--- old/lib/arel/order_predications.rb  2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/order_predications.rb  2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module OrderPredications
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/predications.rb new/lib/arel/predications.rb
--- old/lib/arel/predications.rb        2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/predications.rb        2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Predications
     def not_eq other
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/select_manager.rb 
new/lib/arel/select_manager.rb
--- old/lib/arel/select_manager.rb      2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/select_manager.rb      2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 require 'arel/collectors/sql_string'
 
 module Arel
@@ -106,7 +107,7 @@
 
       case relation
       when String, Nodes::SqlLiteral
-        raise if relation.empty?
+        raise EmptyJoinError if relation.empty?
         klass = Nodes::StringJoin
       end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/table.rb new/lib/arel/table.rb
--- old/lib/arel/table.rb       2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/table.rb       2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   class Table
     include Arel::Crud
@@ -13,7 +14,6 @@
 
     def initialize(name, as: nil, type_caster: nil)
       @name    = name.to_s
-      @columns = nil
       @type_caster = type_caster
 
       # Sometime AR sends an :as parameter to table, to let the table know
@@ -38,7 +38,7 @@
 
       case relation
       when String, Nodes::SqlLiteral
-        raise if relation.empty?
+        raise EmptyJoinError if relation.empty?
         klass = Nodes::StringJoin
       end
 
@@ -106,16 +106,5 @@
     protected
 
     attr_reader :type_caster
-
-    private
-
-    def attributes_for columns
-      return nil unless columns
-
-      columns.map do |column|
-        Attributes.for(column).new self, column.name.to_sym
-      end
-    end
-
   end
 end
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        2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/tree_manager.rb        2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 require 'arel/collectors/sql_string'
 
 module Arel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/update_manager.rb 
new/lib/arel/update_manager.rb
--- old/lib/arel/update_manager.rb      2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/update_manager.rb      2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   class UpdateManager < Arel::TreeManager
     def initialize
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    2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/visitors/bind_substitute.rb    2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     class BindSubstitute
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       2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/visitors/bind_visitor.rb       2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     module BindVisitor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/depth_first.rb 
new/lib/arel/visitors/depth_first.rb
--- old/lib/arel/visitors/depth_first.rb        2016-10-10 06:19:21.000000000 
+0200
+++ new/lib/arel/visitors/depth_first.rb        2017-02-21 17:41:11.000000000 
+0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     class DepthFirst < Arel::Visitors::Visitor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/dot.rb new/lib/arel/visitors/dot.rb
--- old/lib/arel/visitors/dot.rb        2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors/dot.rb        2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     class Dot < Arel::Visitors::Visitor
@@ -277,7 +278,7 @@
             label = "<f0>#{node.name}"
 
             node.fields.each_with_index do |field, i|
-              label << "|<f#{i + 1}>#{quote field}"
+              label += "|<f#{i + 1}>#{quote field}"
             end
 
             "#{node.id} [label=\"#{label}\"];"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/ibm_db.rb 
new/lib/arel/visitors/ibm_db.rb
--- old/lib/arel/visitors/ibm_db.rb     2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors/ibm_db.rb     2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     class IBM_DB < Arel::Visitors::ToSql
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   2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors/informix.rb   2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     class Informix < Arel::Visitors::ToSql
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/mssql.rb 
new/lib/arel/visitors/mssql.rb
--- old/lib/arel/visitors/mssql.rb      2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors/mssql.rb      2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     class MSSQL < Arel::Visitors::ToSql
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/mysql.rb 
new/lib/arel/visitors/mysql.rb
--- old/lib/arel/visitors/mysql.rb      2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors/mysql.rb      2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     class MySQL < Arel::Visitors::ToSql
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     2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors/oracle.rb     2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     class Oracle < Arel::Visitors::ToSql
@@ -136,7 +137,7 @@
             array[i] << ',' << part
           else
             # to ensure that array[i] will be String and not 
Arel::Nodes::SqlLiteral
-            array[i] = '' << part
+            array[i] = part.to_s
           end
           i += 1 if array[i].count('(') == array[i].count(')')
         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   2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors/oracle12.rb   2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     class Oracle12 < Arel::Visitors::ToSql
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 2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors/postgresql.rb 2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     class PostgreSQL < Arel::Visitors::ToSql
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     2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors/reduce.rb     2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 require 'arel/visitors/visitor'
 
 module Arel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/sqlite.rb 
new/lib/arel/visitors/sqlite.rb
--- old/lib/arel/visitors/sqlite.rb     2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors/sqlite.rb     2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     class SQLite < Arel::Visitors::ToSql
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     2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors/to_sql.rb     2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 require 'bigdecimal'
 require 'date'
 require 'arel/visitors/reduce'
@@ -75,15 +76,11 @@
 
       private
 
-      def schema_cache
-        @connection.schema_cache
-      end
-
       def visit_Arel_Nodes_DeleteStatement o, collector
         collector << 'DELETE FROM '
         collector = visit o.relation, collector
         if o.wheres.any?
-          collector << ' WHERE '
+          collector << WHERE
           collector = inject_join o.wheres, collector, AND
         end
 
@@ -169,34 +166,16 @@
         collector << "FALSE"
       end
 
-      def table_exists? name
-        schema_cache.data_source_exists?(name)
-      end
-
-      def column_for attr
-        return unless attr
-        name    = attr.name.to_s
-        table   = attr.relation.table_name
-
-        return nil unless table_exists? table
-
-        column_cache(table)[name]
-      end
-
-      def column_cache(table)
-        schema_cache.columns_hash(table)
-      end
-
       def visit_Arel_Nodes_Values o, collector
         collector << "VALUES ("
 
         len = o.expressions.length - 1
-        o.expressions.zip(o.columns).each_with_index { |(value, attr), i|
+        o.expressions.each_with_index { |value, i|
           case value
           when Nodes::SqlLiteral, Nodes::BindParam
             collector = visit value, collector
           else
-            collector << quote(value, attr && column_for(attr)).to_s
+            collector << quote(value).to_s
           end
           unless i == len
             collector << COMMA
@@ -286,12 +265,12 @@
 
       def visit_Arel_Nodes_With o, collector
         collector << "WITH "
-        inject_join o.children, collector, ', '
+        inject_join o.children, collector, COMMA
       end
 
       def visit_Arel_Nodes_WithRecursive o, collector
         collector << "WITH RECURSIVE "
-        inject_join o.children, collector, ', '
+        inject_join o.children, collector, COMMA
       end
 
       def visit_Arel_Nodes_Union o, collector
@@ -545,7 +524,7 @@
         end
         if o.right.any?
           collector << SPACE if o.left
-          collector = inject_join o.right, collector, ' '
+          collector = inject_join o.right, collector, SPACE
         end
         collector
       end
@@ -652,7 +631,7 @@
         else
           collector = visit o.left, collector
           collector << " = "
-          collector << quote(o.right, column_for(o.left)).to_s
+          collector << quote(o.right).to_s
         end
       end
 
@@ -748,7 +727,7 @@
         if a && a.able_to_type_cast?
           quote(a.type_cast_for_database(o))
         else
-          quote(o, column_for(a))
+          quote(o)
         end
       end
 
@@ -792,12 +771,9 @@
       end
       alias :visit_Set :visit_Array
 
-      def quote value, column = nil
+      def quote value
         return value if Arel::Nodes::SqlLiteral === value
-        if column
-          print_type_cast_deprecation
-        end
-        @connection.quote value, column
+        @connection.quote value
       end
 
       def quote_table_name name
@@ -846,20 +822,6 @@
           collector
         end
       end
-
-      def print_type_cast_deprecation
-        unless defined?($arel_silence_type_casting_deprecation) && 
$arel_silence_type_casting_deprecation
-          warn <<-eowarn
-Arel performing automatic type casting is deprecated, and will be removed in 
Arel 8.0. If you are seeing this, it is because you are manually passing a 
value to an Arel predicate, and the `Arel::Table` object was constructed 
manually. The easiest way to remove this warning is to use an `Arel::Table` 
object returned from calling `arel_table` on an ActiveRecord::Base subclass.
-
-If you're certain the value is already of the right type, change 
`attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you 
will be able to remove that in Arel 8.0, it is only required to silence this 
deprecation warning).
-
-You can also silence this warning globally by setting 
`$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are 
a library author)
-
-If you are passing user input to a predicate, you must either give an 
appropriate type caster object to the `Arel::Table`, or manually cast the value 
before passing it to Arel.
-          eowarn
-        end
-      end
     end
   end
 end
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    2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors/visitor.rb    2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     class Visitor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors/where_sql.rb 
new/lib/arel/visitors/where_sql.rb
--- old/lib/arel/visitors/where_sql.rb  2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors/where_sql.rb  2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module Visitors
     class WhereSql < Arel::Visitors::ToSql
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/visitors.rb new/lib/arel/visitors.rb
--- old/lib/arel/visitors.rb    2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/visitors.rb    2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 require 'arel/visitors/visitor'
 require 'arel/visitors/depth_first'
 require 'arel/visitors/to_sql'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel/window_predications.rb 
new/lib/arel/window_predications.rb
--- old/lib/arel/window_predications.rb 2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel/window_predications.rb 2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
 module Arel
   module WindowPredications
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/arel.rb new/lib/arel.rb
--- old/lib/arel.rb     2016-10-10 06:19:21.000000000 +0200
+++ new/lib/arel.rb     2017-02-21 17:41:11.000000000 +0100
@@ -1,3 +1,6 @@
+# frozen_string_literal: true
+require 'arel/errors'
+
 require 'arel/crud'
 require 'arel/factory_methods'
 
@@ -21,7 +24,7 @@
 require 'arel/nodes'
 
 module Arel
-  VERSION = '7.1.4'
+  VERSION = '8.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        2016-10-10 06:19:21.000000000 +0200
+++ new/metadata        2017-02-21 17:41:11.000000000 +0100
@@ -1,7 +1,7 @@
 --- !ruby/object:Gem::Specification
 name: arel
 version: !ruby/object:Gem::Version
-  version: 7.1.4
+  version: 8.0.0
 platform: ruby
 authors:
 - Aaron Patterson
@@ -11,7 +11,7 @@
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2016-10-10 00:00:00.000000000 Z
+date: 2017-02-21 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: minitest
@@ -90,6 +90,7 @@
 - lib/arel/compatibility/wheres.rb
 - lib/arel/crud.rb
 - lib/arel/delete_manager.rb
+- lib/arel/errors.rb
 - lib/arel/expressions.rb
 - lib/arel/factory_methods.rb
 - lib/arel/insert_manager.rb
@@ -182,7 +183,7 @@
       version: '0'
 requirements: []
 rubyforge_project: 
-rubygems_version: 2.5.1
+rubygems_version: 2.6.10
 signing_key: 
 specification_version: 4
 summary: Arel Really Exasperates Logicians  Arel is a SQL AST manager for Ruby


Reply via email to