arel 2.2.1 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +10 -3
- data/README.markdown +1 -1
- data/Rakefile +1 -0
- data/arel.gemspec +24 -25
- data/lib/arel.rb +1 -1
- data/lib/arel/nodes/node.rb +1 -1
- data/lib/arel/nodes/sql_literal.rb +3 -0
- data/lib/arel/nodes/table_alias.rb +1 -1
- data/lib/arel/select_manager.rb +9 -1
- data/lib/arel/visitors/depth_first.rb +1 -0
- data/lib/arel/visitors/dot.rb +1 -0
- data/lib/arel/visitors/mysql.rb +0 -4
- data/lib/arel/visitors/postgresql.rb +0 -3
- data/lib/arel/visitors/sqlite.rb +5 -0
- data/lib/arel/visitors/to_sql.rb +2 -2
- data/test/nodes/test_node.rb +1 -0
- data/test/test_select_manager.rb +31 -1
- data/test/visitors/test_oracle.rb +7 -0
- data/test/visitors/test_sqlite.rb +5 -0
- data/test/visitors/test_to_sql.rb +6 -0
- metadata +62 -64
data/Gemfile
CHANGED
@@ -1,4 +1,11 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
# DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake bundler:gemfile`.
|
4
|
+
|
5
|
+
source :gemcutter
|
6
|
+
|
7
|
+
|
8
|
+
gem "minitest", "~>2.2", :group => [:development, :test]
|
9
|
+
gem "hoe", "~>2.10", :group => [:development, :test]
|
10
|
+
|
11
|
+
# vim: syntax=ruby
|
data/README.markdown
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
Arel is a SQL AST manager for Ruby. It
|
8
8
|
|
9
|
-
1. Simplifies the generation complex
|
9
|
+
1. Simplifies the generation of complex SQL queries
|
10
10
|
2. Adapts to various RDBMS systems
|
11
11
|
|
12
12
|
It is intended to be a framework framework; that is, you can build your own ORM
|
data/Rakefile
CHANGED
@@ -6,6 +6,7 @@ Hoe.plugins.delete :rubyforge
|
|
6
6
|
Hoe.plugin :minitest
|
7
7
|
Hoe.plugin :gemspec # `gem install hoe-gemspec`
|
8
8
|
Hoe.plugin :git # `gem install hoe-git`
|
9
|
+
Hoe.plugin :bundler # `gem install hoe-bundler`
|
9
10
|
|
10
11
|
Hoe.spec 'arel' do
|
11
12
|
developer('Aaron Patterson', 'aaron@tenderlovemaking.com')
|
data/arel.gemspec
CHANGED
@@ -1,40 +1,39 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
|
-
s.name =
|
5
|
-
s.version = "2.2.
|
4
|
+
s.name = "arel"
|
5
|
+
s.version = "2.2.2.20120220180142"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
-
s.authors = [
|
9
|
-
s.date =
|
10
|
-
s.description =
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
s.
|
19
|
-
s.
|
20
|
-
s.
|
21
|
-
s.homepage = %q{http://github.com/rails/arel}
|
22
|
-
s.rdoc_options = [%q{--main}, %q{README.markdown}]
|
23
|
-
s.require_paths = [%q{lib}]
|
24
|
-
s.rubyforge_project = %q{arel}
|
25
|
-
s.rubygems_version = %q{1.8.6.1}
|
26
|
-
s.summary = %q{Arel is a SQL AST manager for Ruby}
|
27
|
-
s.test_files = [%q{test/attributes/test_attribute.rb}, %q{test/nodes/test_as.rb}, %q{test/nodes/test_ascending.rb}, %q{test/nodes/test_bin.rb}, %q{test/nodes/test_count.rb}, %q{test/nodes/test_delete_statement.rb}, %q{test/nodes/test_descending.rb}, %q{test/nodes/test_equality.rb}, %q{test/nodes/test_infix_operation.rb}, %q{test/nodes/test_insert_statement.rb}, %q{test/nodes/test_named_function.rb}, %q{test/nodes/test_node.rb}, %q{test/nodes/test_not.rb}, %q{test/nodes/test_or.rb}, %q{test/nodes/test_select_core.rb}, %q{test/nodes/test_select_statement.rb}, %q{test/nodes/test_sql_literal.rb}, %q{test/nodes/test_sum.rb}, %q{test/nodes/test_update_statement.rb}, %q{test/test_activerecord_compat.rb}, %q{test/test_attributes.rb}, %q{test/test_crud.rb}, %q{test/test_delete_manager.rb}, %q{test/test_factory_methods.rb}, %q{test/test_insert_manager.rb}, %q{test/test_select_manager.rb}, %q{test/test_table.rb}, %q{test/test_update_manager.rb}, %q{test/visitors/test_depth_first.rb}, %q{test/visitors/test_dot.rb}, %q{test/visitors/test_ibm_db.rb}, %q{test/visitors/test_informix.rb}, %q{test/visitors/test_join_sql.rb}, %q{test/visitors/test_mssql.rb}, %q{test/visitors/test_mysql.rb}, %q{test/visitors/test_oracle.rb}, %q{test/visitors/test_postgres.rb}, %q{test/visitors/test_sqlite.rb}, %q{test/visitors/test_to_sql.rb}]
|
8
|
+
s.authors = ["Aaron Patterson", "Bryan Halmkamp", "Emilio Tagua", "Nick Kallen"]
|
9
|
+
s.date = "2012-02-21"
|
10
|
+
s.description = "Arel is a SQL AST manager for Ruby. It\n\n1. Simplifies the generation of complex SQL queries\n2. Adapts to various RDBMS systems\n\nIt is intended to be a framework framework; that is, you can build your own ORM\nwith it, focusing on innovative object and collection modeling as opposed to\ndatabase compatibility and query generation."
|
11
|
+
s.email = ["aaron@tenderlovemaking.com", "bryan@brynary.com", "miloops@gmail.com", "nick@example.org"]
|
12
|
+
s.extra_rdoc_files = ["History.txt", "MIT-LICENSE.txt", "Manifest.txt", "README.markdown"]
|
13
|
+
s.files = [".autotest", ".gemtest", ".travis.yml", "Gemfile", "History.txt", "MIT-LICENSE.txt", "Manifest.txt", "README.markdown", "Rakefile", "arel.gemspec", "lib/arel.rb", "lib/arel/alias_predication.rb", "lib/arel/attributes.rb", "lib/arel/attributes/attribute.rb", "lib/arel/compatibility/wheres.rb", "lib/arel/crud.rb", "lib/arel/delete_manager.rb", "lib/arel/deprecated.rb", "lib/arel/expression.rb", "lib/arel/expressions.rb", "lib/arel/factory_methods.rb", "lib/arel/insert_manager.rb", "lib/arel/math.rb", "lib/arel/nodes.rb", "lib/arel/nodes/and.rb", "lib/arel/nodes/ascending.rb", "lib/arel/nodes/binary.rb", "lib/arel/nodes/count.rb", "lib/arel/nodes/delete_statement.rb", "lib/arel/nodes/descending.rb", "lib/arel/nodes/equality.rb", "lib/arel/nodes/false.rb", "lib/arel/nodes/function.rb", "lib/arel/nodes/in.rb", "lib/arel/nodes/infix_operation.rb", "lib/arel/nodes/inner_join.rb", "lib/arel/nodes/insert_statement.rb", "lib/arel/nodes/join_source.rb", "lib/arel/nodes/named_function.rb", "lib/arel/nodes/node.rb", "lib/arel/nodes/ordering.rb", "lib/arel/nodes/outer_join.rb", "lib/arel/nodes/select_core.rb", "lib/arel/nodes/select_statement.rb", "lib/arel/nodes/sql_literal.rb", "lib/arel/nodes/string_join.rb", "lib/arel/nodes/table_alias.rb", "lib/arel/nodes/terminal.rb", "lib/arel/nodes/true.rb", "lib/arel/nodes/unary.rb", "lib/arel/nodes/unqualified_column.rb", "lib/arel/nodes/update_statement.rb", "lib/arel/nodes/values.rb", "lib/arel/nodes/with.rb", "lib/arel/order_predications.rb", "lib/arel/predications.rb", "lib/arel/relation.rb", "lib/arel/select_manager.rb", "lib/arel/sql/engine.rb", "lib/arel/sql_literal.rb", "lib/arel/table.rb", "lib/arel/tree_manager.rb", "lib/arel/update_manager.rb", "lib/arel/visitors.rb", "lib/arel/visitors/depth_first.rb", "lib/arel/visitors/dot.rb", "lib/arel/visitors/ibm_db.rb", "lib/arel/visitors/informix.rb", "lib/arel/visitors/join_sql.rb", "lib/arel/visitors/mssql.rb", "lib/arel/visitors/mysql.rb", "lib/arel/visitors/oracle.rb", "lib/arel/visitors/order_clauses.rb", "lib/arel/visitors/postgresql.rb", "lib/arel/visitors/sqlite.rb", "lib/arel/visitors/to_sql.rb", "lib/arel/visitors/visitor.rb", "lib/arel/visitors/where_sql.rb", "test/attributes/test_attribute.rb", "test/helper.rb", "test/nodes/test_as.rb", "test/nodes/test_ascending.rb", "test/nodes/test_bin.rb", "test/nodes/test_count.rb", "test/nodes/test_delete_statement.rb", "test/nodes/test_descending.rb", "test/nodes/test_equality.rb", "test/nodes/test_infix_operation.rb", "test/nodes/test_insert_statement.rb", "test/nodes/test_named_function.rb", "test/nodes/test_node.rb", "test/nodes/test_not.rb", "test/nodes/test_or.rb", "test/nodes/test_select_core.rb", "test/nodes/test_select_statement.rb", "test/nodes/test_sql_literal.rb", "test/nodes/test_sum.rb", "test/nodes/test_update_statement.rb", "test/support/fake_record.rb", "test/test_activerecord_compat.rb", "test/test_attributes.rb", "test/test_crud.rb", "test/test_delete_manager.rb", "test/test_factory_methods.rb", "test/test_insert_manager.rb", "test/test_select_manager.rb", "test/test_table.rb", "test/test_update_manager.rb", "test/visitors/test_depth_first.rb", "test/visitors/test_dot.rb", "test/visitors/test_ibm_db.rb", "test/visitors/test_informix.rb", "test/visitors/test_join_sql.rb", "test/visitors/test_mssql.rb", "test/visitors/test_mysql.rb", "test/visitors/test_oracle.rb", "test/visitors/test_postgres.rb", "test/visitors/test_sqlite.rb", "test/visitors/test_to_sql.rb"]
|
14
|
+
s.homepage = "http://github.com/rails/arel"
|
15
|
+
s.rdoc_options = ["--main", "README.markdown"]
|
16
|
+
s.require_paths = ["lib"]
|
17
|
+
s.rubyforge_project = "arel"
|
18
|
+
s.rubygems_version = "1.8.11"
|
19
|
+
s.summary = "Arel is a SQL AST manager for Ruby"
|
20
|
+
s.test_files = ["test/attributes/test_attribute.rb", "test/nodes/test_as.rb", "test/nodes/test_ascending.rb", "test/nodes/test_bin.rb", "test/nodes/test_count.rb", "test/nodes/test_delete_statement.rb", "test/nodes/test_descending.rb", "test/nodes/test_equality.rb", "test/nodes/test_infix_operation.rb", "test/nodes/test_insert_statement.rb", "test/nodes/test_named_function.rb", "test/nodes/test_node.rb", "test/nodes/test_not.rb", "test/nodes/test_or.rb", "test/nodes/test_select_core.rb", "test/nodes/test_select_statement.rb", "test/nodes/test_sql_literal.rb", "test/nodes/test_sum.rb", "test/nodes/test_update_statement.rb", "test/test_activerecord_compat.rb", "test/test_attributes.rb", "test/test_crud.rb", "test/test_delete_manager.rb", "test/test_factory_methods.rb", "test/test_insert_manager.rb", "test/test_select_manager.rb", "test/test_table.rb", "test/test_update_manager.rb", "test/visitors/test_depth_first.rb", "test/visitors/test_dot.rb", "test/visitors/test_ibm_db.rb", "test/visitors/test_informix.rb", "test/visitors/test_join_sql.rb", "test/visitors/test_mssql.rb", "test/visitors/test_mysql.rb", "test/visitors/test_oracle.rb", "test/visitors/test_postgres.rb", "test/visitors/test_sqlite.rb", "test/visitors/test_to_sql.rb"]
|
28
21
|
|
29
22
|
if s.respond_to? :specification_version then
|
30
23
|
s.specification_version = 3
|
31
24
|
|
32
25
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
33
|
-
s.add_development_dependency(%q<
|
26
|
+
s.add_development_dependency(%q<minitest>, ["~> 2.11"])
|
27
|
+
s.add_development_dependency(%q<rdoc>, ["~> 3.10"])
|
28
|
+
s.add_development_dependency(%q<hoe>, ["~> 2.13"])
|
34
29
|
else
|
35
|
-
s.add_dependency(%q<
|
30
|
+
s.add_dependency(%q<minitest>, ["~> 2.11"])
|
31
|
+
s.add_dependency(%q<rdoc>, ["~> 3.10"])
|
32
|
+
s.add_dependency(%q<hoe>, ["~> 2.13"])
|
36
33
|
end
|
37
34
|
else
|
38
|
-
s.add_dependency(%q<
|
35
|
+
s.add_dependency(%q<minitest>, ["~> 2.11"])
|
36
|
+
s.add_dependency(%q<rdoc>, ["~> 3.10"])
|
37
|
+
s.add_dependency(%q<hoe>, ["~> 2.13"])
|
39
38
|
end
|
40
39
|
end
|
data/lib/arel.rb
CHANGED
data/lib/arel/nodes/node.rb
CHANGED
data/lib/arel/select_manager.rb
CHANGED
@@ -51,7 +51,7 @@ module Arel
|
|
51
51
|
if $VERBOSE
|
52
52
|
warn "(#{caller.first}) where_clauses is deprecated and will be removed in arel 3.0.0 with no replacement"
|
53
53
|
end
|
54
|
-
to_sql = Visitors::ToSql.new @engine
|
54
|
+
to_sql = Visitors::ToSql.new @engine.connection_pool
|
55
55
|
@ctx.wheres.map { |c| to_sql.accept c }
|
56
56
|
end
|
57
57
|
|
@@ -139,6 +139,14 @@ module Arel
|
|
139
139
|
@ctx.projections = projections
|
140
140
|
end
|
141
141
|
|
142
|
+
def distinct(value = true)
|
143
|
+
if value
|
144
|
+
@ctx.set_quantifier = Arel::Nodes::Distinct.new
|
145
|
+
else
|
146
|
+
@ctx.set_quantifier = nil
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
142
150
|
def order *expr
|
143
151
|
# FIXME: We SHOULD NOT be converting these to SqlLiteral automatically
|
144
152
|
@ast.orders.concat expr.map { |x|
|
@@ -109,6 +109,7 @@ module Arel
|
|
109
109
|
alias :visit_Arel_Nodes_Lock :terminal
|
110
110
|
alias :visit_Arel_Nodes_Node :terminal
|
111
111
|
alias :visit_Arel_Nodes_SqlLiteral :terminal
|
112
|
+
alias :visit_Arel_Nodes_BindParam :terminal
|
112
113
|
alias :visit_Arel_SqlLiteral :terminal
|
113
114
|
alias :visit_BigDecimal :terminal
|
114
115
|
alias :visit_Bignum :terminal
|
data/lib/arel/visitors/dot.rb
CHANGED
data/lib/arel/visitors/mysql.rb
CHANGED
data/lib/arel/visitors/sqlite.rb
CHANGED
@@ -2,6 +2,11 @@ module Arel
|
|
2
2
|
module Visitors
|
3
3
|
class SQLite < Arel::Visitors::ToSql
|
4
4
|
private
|
5
|
+
|
6
|
+
# Locks are not supported in SQLite
|
7
|
+
def visit_Arel_Nodes_Lock o
|
8
|
+
end
|
9
|
+
|
5
10
|
def visit_Arel_Nodes_SelectStatement o
|
6
11
|
o.limit = Arel::Nodes::Limit.new(-1) if o.offset && !o.limit
|
7
12
|
super
|
data/lib/arel/visitors/to_sql.rb
CHANGED
@@ -200,9 +200,8 @@ key on UpdateManager using UpdateManager#key=
|
|
200
200
|
""
|
201
201
|
end
|
202
202
|
|
203
|
-
# FIXME: this does nothing on SQLLite3, but should do things on other
|
204
|
-
# databases.
|
205
203
|
def visit_Arel_Nodes_Lock o
|
204
|
+
visit o.expr
|
206
205
|
end
|
207
206
|
|
208
207
|
def visit_Arel_Nodes_Grouping o
|
@@ -383,6 +382,7 @@ key on UpdateManager using UpdateManager#key=
|
|
383
382
|
|
384
383
|
def literal o; o end
|
385
384
|
|
385
|
+
alias :visit_Arel_Nodes_BindParam :literal
|
386
386
|
alias :visit_Arel_Nodes_SqlLiteral :literal
|
387
387
|
alias :visit_Arel_SqlLiteral :literal # This is deprecated
|
388
388
|
alias :visit_Bignum :literal
|
data/test/nodes/test_node.rb
CHANGED
data/test/test_select_manager.rb
CHANGED
@@ -454,7 +454,7 @@ module Arel
|
|
454
454
|
it 'adds a lock node' do
|
455
455
|
table = Table.new :users
|
456
456
|
mgr = table.from table
|
457
|
-
mgr.lock.to_sql.must_be_like %{ SELECT FROM "users" }
|
457
|
+
mgr.lock.to_sql.must_be_like %{ SELECT FROM "users" FOR UPDATE }
|
458
458
|
end
|
459
459
|
end
|
460
460
|
|
@@ -654,6 +654,23 @@ module Arel
|
|
654
654
|
}
|
655
655
|
end
|
656
656
|
|
657
|
+
it 'can have a non-table alias as relation name' do
|
658
|
+
users = Table.new :users
|
659
|
+
comments = Table.new :comments
|
660
|
+
|
661
|
+
counts = comments.from(comments).
|
662
|
+
group(comments[:user_id]).
|
663
|
+
project(
|
664
|
+
comments[:user_id].as("user_id"),
|
665
|
+
comments[:user_id].count.as("count")
|
666
|
+
).as("counts")
|
667
|
+
|
668
|
+
joins = users.join(counts).on(counts[:user_id].eq(10))
|
669
|
+
joins.to_sql.must_be_like %{
|
670
|
+
SELECT FROM "users" INNER JOIN (SELECT "comments"."user_id" AS user_id, COUNT("comments"."user_id") AS count FROM "comments" GROUP BY "comments"."user_id") counts ON counts."user_id" = 10
|
671
|
+
}
|
672
|
+
end
|
673
|
+
|
657
674
|
it 'returns string join sql' do
|
658
675
|
table = Table.new :users
|
659
676
|
manager = Arel::SelectManager.new Table.engine
|
@@ -964,5 +981,18 @@ module Arel
|
|
964
981
|
manager.source.must_equal manager.ast.cores.last.source
|
965
982
|
end
|
966
983
|
end
|
984
|
+
|
985
|
+
describe 'distinct' do
|
986
|
+
it 'sets the quantifier' do
|
987
|
+
table = Table.new :users
|
988
|
+
manager = Arel::SelectManager.new Table.engine
|
989
|
+
|
990
|
+
manager.distinct
|
991
|
+
manager.ast.cores.last.set_quantifier.class.must_equal Arel::Nodes::Distinct
|
992
|
+
|
993
|
+
manager.distinct(false)
|
994
|
+
manager.ast.cores.last.set_quantifier.must_equal nil
|
995
|
+
end
|
996
|
+
end
|
967
997
|
end
|
968
998
|
end
|
@@ -143,6 +143,13 @@ module Arel
|
|
143
143
|
( SELECT * FROM users WHERE age > 10 MINUS SELECT * FROM users WHERE age > 20 )
|
144
144
|
}
|
145
145
|
end
|
146
|
+
|
147
|
+
describe 'locking' do
|
148
|
+
it 'defaults to FOR UPDATE when locking' do
|
149
|
+
node = Nodes::Lock.new(Arel.sql('FOR UPDATE'))
|
150
|
+
@visitor.accept(node).must_be_like "FOR UPDATE"
|
151
|
+
end
|
152
|
+
end
|
146
153
|
end
|
147
154
|
end
|
148
155
|
end
|
@@ -13,6 +13,12 @@ module Arel
|
|
13
13
|
@attr = @table[:id]
|
14
14
|
end
|
15
15
|
|
16
|
+
it 'works with BindParams' do
|
17
|
+
node = Nodes::BindParam.new 'omg'
|
18
|
+
sql = @visitor.accept node
|
19
|
+
sql.must_be_like 'omg'
|
20
|
+
end
|
21
|
+
|
16
22
|
it 'can define a dispatch method' do
|
17
23
|
visited = false
|
18
24
|
viz = Class.new(Arel::Visitors::Visitor) {
|
metadata
CHANGED
@@ -1,14 +1,10 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: arel
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 2
|
7
|
-
- 2
|
8
|
-
- 1
|
9
|
-
version: 2.2.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.2.2
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Aaron Patterson
|
13
9
|
- Bryan Halmkamp
|
14
10
|
- Emilio Tagua
|
@@ -16,60 +12,67 @@ authors:
|
|
16
12
|
autorequire:
|
17
13
|
bindir: bin
|
18
14
|
cert_chain: []
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
dependencies:
|
23
|
-
- !ruby/object:Gem::Dependency
|
15
|
+
date: 2012-02-21 00:00:00.000000000 Z
|
16
|
+
dependencies:
|
17
|
+
- !ruby/object:Gem::Dependency
|
24
18
|
name: minitest
|
19
|
+
requirement: &70233423420200 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ~>
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: '2.11'
|
25
|
+
type: :development
|
25
26
|
prerelease: false
|
26
|
-
|
27
|
-
|
27
|
+
version_requirements: *70233423420200
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rdoc
|
30
|
+
requirement: &70233423415720 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
28
33
|
- - ~>
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
|
31
|
-
- 2
|
32
|
-
- 3
|
33
|
-
version: "2.3"
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '3.10'
|
34
36
|
type: :development
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: hoe
|
38
37
|
prerelease: false
|
39
|
-
|
40
|
-
|
38
|
+
version_requirements: *70233423415720
|
39
|
+
- !ruby/object:Gem::Dependency
|
40
|
+
name: hoe
|
41
|
+
requirement: &70233423403440 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
41
44
|
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
- 2
|
45
|
-
- 9
|
46
|
-
version: "2.9"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '2.13'
|
47
47
|
type: :development
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: *70233423403440
|
50
|
+
description: ! 'Arel is a SQL AST manager for Ruby. It
|
51
|
+
|
52
|
+
|
53
|
+
1. Simplifies the generation of complex SQL queries
|
54
|
+
|
53
55
|
2. Adapts to various RDBMS systems
|
54
|
-
|
56
|
+
|
57
|
+
|
55
58
|
It is intended to be a framework framework; that is, you can build your own ORM
|
59
|
+
|
56
60
|
with it, focusing on innovative object and collection modeling as opposed to
|
57
|
-
|
58
|
-
|
61
|
+
|
62
|
+
database compatibility and query generation.'
|
63
|
+
email:
|
59
64
|
- aaron@tenderlovemaking.com
|
60
65
|
- bryan@brynary.com
|
61
66
|
- miloops@gmail.com
|
62
67
|
- nick@example.org
|
63
68
|
executables: []
|
64
|
-
|
65
69
|
extensions: []
|
66
|
-
|
67
|
-
extra_rdoc_files:
|
70
|
+
extra_rdoc_files:
|
68
71
|
- History.txt
|
69
72
|
- MIT-LICENSE.txt
|
70
73
|
- Manifest.txt
|
71
74
|
- README.markdown
|
72
|
-
files:
|
75
|
+
files:
|
73
76
|
- .autotest
|
74
77
|
- .gemtest
|
75
78
|
- .travis.yml
|
@@ -189,38 +192,33 @@ files:
|
|
189
192
|
- test/visitors/test_postgres.rb
|
190
193
|
- test/visitors/test_sqlite.rb
|
191
194
|
- test/visitors/test_to_sql.rb
|
192
|
-
has_rdoc: true
|
193
195
|
homepage: http://github.com/rails/arel
|
194
196
|
licenses: []
|
195
|
-
|
196
197
|
post_install_message:
|
197
|
-
rdoc_options:
|
198
|
+
rdoc_options:
|
198
199
|
- --main
|
199
200
|
- README.markdown
|
200
|
-
require_paths:
|
201
|
+
require_paths:
|
201
202
|
- lib
|
202
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
requirements:
|
211
|
-
- -
|
212
|
-
- !ruby/object:Gem::Version
|
213
|
-
|
214
|
-
- 0
|
215
|
-
version: "0"
|
203
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
204
|
+
none: false
|
205
|
+
requirements:
|
206
|
+
- - ! '>='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
210
|
+
none: false
|
211
|
+
requirements:
|
212
|
+
- - ! '>='
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '0'
|
216
215
|
requirements: []
|
217
|
-
|
218
216
|
rubyforge_project: arel
|
219
|
-
rubygems_version: 1.
|
217
|
+
rubygems_version: 1.8.11
|
220
218
|
signing_key:
|
221
219
|
specification_version: 3
|
222
220
|
summary: Arel is a SQL AST manager for Ruby
|
223
|
-
test_files:
|
221
|
+
test_files:
|
224
222
|
- test/attributes/test_attribute.rb
|
225
223
|
- test/nodes/test_as.rb
|
226
224
|
- test/nodes/test_ascending.rb
|