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 - [email protected] + +- 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
