arel 3.0.3 → 4.0.0.beta1

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.
Files changed (70) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +2 -2
  3. data/Gemfile +3 -4
  4. data/History.txt +0 -51
  5. data/Manifest.txt +8 -2
  6. data/README.markdown +1 -1
  7. data/Rakefile +1 -1
  8. data/arel.gemspec +21 -29
  9. data/lib/arel.rb +1 -3
  10. data/lib/arel/nodes.rb +1 -0
  11. data/lib/arel/nodes/and.rb +10 -0
  12. data/lib/arel/nodes/binary.rb +11 -0
  13. data/lib/arel/nodes/extract.rb +11 -0
  14. data/lib/arel/nodes/false.rb +7 -0
  15. data/lib/arel/nodes/function.rb +11 -0
  16. data/lib/arel/nodes/grouping.rb +7 -0
  17. data/lib/arel/nodes/insert_statement.rb +12 -0
  18. data/lib/arel/nodes/named_function.rb +9 -0
  19. data/lib/arel/nodes/select_core.rb +20 -0
  20. data/lib/arel/nodes/select_statement.rb +15 -1
  21. data/lib/arel/nodes/table_alias.rb +4 -0
  22. data/lib/arel/nodes/terminal.rb +7 -0
  23. data/lib/arel/nodes/true.rb +7 -0
  24. data/lib/arel/nodes/unary.rb +10 -1
  25. data/lib/arel/nodes/update_statement.rb +15 -0
  26. data/lib/arel/nodes/window.rb +30 -3
  27. data/lib/arel/select_manager.rb +4 -0
  28. data/lib/arel/table.rb +13 -0
  29. data/lib/arel/tree_manager.rb +0 -2
  30. data/lib/arel/visitors/bind_visitor.rb +10 -0
  31. data/lib/arel/visitors/dot.rb +1 -1
  32. data/lib/arel/visitors/oracle.rb +1 -2
  33. data/lib/arel/visitors/to_sql.rb +138 -27
  34. data/test/nodes/test_and.rb +20 -0
  35. data/test/nodes/test_as.rb +12 -0
  36. data/test/nodes/test_ascending.rb +10 -0
  37. data/test/nodes/test_bin.rb +10 -0
  38. data/test/nodes/test_count.rb +12 -0
  39. data/test/nodes/test_delete_statement.rb +20 -0
  40. data/test/nodes/test_descending.rb +10 -0
  41. data/test/nodes/test_distinct.rb +20 -0
  42. data/test/nodes/test_equality.rb +10 -0
  43. data/test/nodes/test_extract.rb +14 -0
  44. data/test/nodes/test_false.rb +20 -0
  45. data/test/nodes/test_grouping.rb +25 -0
  46. data/test/nodes/test_infix_operation.rb +10 -0
  47. data/test/nodes/test_insert_statement.rb +24 -0
  48. data/test/nodes/test_named_function.rb +16 -0
  49. data/test/nodes/test_not.rb +12 -0
  50. data/test/nodes/test_or.rb +12 -0
  51. data/test/nodes/test_over.rb +18 -0
  52. data/test/nodes/test_select_core.rb +38 -0
  53. data/test/nodes/test_select_statement.rb +36 -0
  54. data/test/nodes/test_sql_literal.rb +10 -0
  55. data/test/nodes/test_sum.rb +12 -0
  56. data/test/nodes/test_table_alias.rb +36 -0
  57. data/test/nodes/test_true.rb +21 -0
  58. data/test/nodes/test_update_statement.rb +40 -0
  59. data/test/nodes/test_window.rb +73 -0
  60. data/test/test_attributes.rb +12 -0
  61. data/test/test_insert_manager.rb +0 -2
  62. data/test/test_select_manager.rb +10 -5
  63. data/test/test_table.rb +24 -0
  64. data/test/test_update_manager.rb +8 -0
  65. data/test/visitors/test_bind_visitor.rb +20 -1
  66. data/test/visitors/test_oracle.rb +1 -2
  67. data/test/visitors/test_to_sql.rb +44 -0
  68. metadata +76 -86
  69. data/lib/arel/nodes/ordering.rb +0 -6
  70. data/lib/arel/relation.rb +0 -6
metadata CHANGED
@@ -1,15 +1,9 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: arel
3
- version: !ruby/object:Gem::Version
4
- hash: 1
5
- prerelease:
6
- segments:
7
- - 3
8
- - 0
9
- - 3
10
- version: 3.0.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.0.0.beta1
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Aaron Patterson
14
8
  - Bryan Halmkamp
15
9
  - Emilio Tagua
@@ -17,79 +11,72 @@ authors:
17
11
  autorequire:
18
12
  bindir: bin
19
13
  cert_chain: []
20
-
21
- date: 2013-11-14 00:00:00 -02:00
22
- default_executable:
23
- dependencies:
24
- - !ruby/object:Gem::Dependency
14
+ date: 2013-02-25 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
25
17
  name: minitest
26
- prerelease: false
27
- requirement: &id001 !ruby/object:Gem::Requirement
28
- none: false
29
- requirements:
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
30
20
  - - ~>
31
- - !ruby/object:Gem::Version
32
- hash: 21
33
- segments:
34
- - 4
35
- - 7
36
- version: "4.7"
21
+ - !ruby/object:Gem::Version
22
+ version: '4.6'
37
23
  type: :development
38
- version_requirements: *id001
39
- - !ruby/object:Gem::Dependency
40
- name: rdoc
41
24
  prerelease: false
42
- requirement: &id002 !ruby/object:Gem::Requirement
43
- none: false
44
- requirements:
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '4.6'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rdoc
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
45
34
  - - ~>
46
- - !ruby/object:Gem::Version
47
- hash: 27
48
- segments:
49
- - 4
50
- - 0
51
- version: "4.0"
35
+ - !ruby/object:Gem::Version
36
+ version: '3.10'
52
37
  type: :development
53
- version_requirements: *id002
54
- - !ruby/object:Gem::Dependency
55
- name: hoe
56
38
  prerelease: false
57
- requirement: &id003 !ruby/object:Gem::Requirement
58
- none: false
59
- requirements:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: '3.10'
44
+ - !ruby/object:Gem::Dependency
45
+ name: hoe
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
60
48
  - - ~>
61
- - !ruby/object:Gem::Version
62
- hash: 9
63
- segments:
64
- - 3
65
- - 7
66
- version: "3.7"
49
+ - !ruby/object:Gem::Version
50
+ version: '3.5'
67
51
  type: :development
68
- version_requirements: *id003
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ~>
56
+ - !ruby/object:Gem::Version
57
+ version: '3.5'
69
58
  description: |-
70
59
  Arel is a SQL AST manager for Ruby. It
71
-
60
+
72
61
  1. Simplifies the generation of complex SQL queries
73
62
  2. Adapts to various RDBMS systems
74
-
63
+
75
64
  It is intended to be a framework framework; that is, you can build your own ORM
76
65
  with it, focusing on innovative object and collection modeling as opposed to
77
66
  database compatibility and query generation.
78
- email:
67
+ email:
79
68
  - aaron@tenderlovemaking.com
80
69
  - bryan@brynary.com
81
70
  - miloops@gmail.com
82
71
  - nick@example.org
83
72
  executables: []
84
-
85
73
  extensions: []
86
-
87
- extra_rdoc_files:
74
+ extra_rdoc_files:
88
75
  - History.txt
89
76
  - MIT-LICENSE.txt
90
77
  - Manifest.txt
91
78
  - README.markdown
92
- files:
79
+ files:
93
80
  - .autotest
94
81
  - .gemtest
95
82
  - .travis.yml
@@ -124,6 +111,7 @@ files:
124
111
  - lib/arel/nodes/extract.rb
125
112
  - lib/arel/nodes/false.rb
126
113
  - lib/arel/nodes/function.rb
114
+ - lib/arel/nodes/grouping.rb
127
115
  - lib/arel/nodes/in.rb
128
116
  - lib/arel/nodes/infix_operation.rb
129
117
  - lib/arel/nodes/inner_join.rb
@@ -131,7 +119,6 @@ files:
131
119
  - lib/arel/nodes/join_source.rb
132
120
  - lib/arel/nodes/named_function.rb
133
121
  - lib/arel/nodes/node.rb
134
- - lib/arel/nodes/ordering.rb
135
122
  - lib/arel/nodes/outer_join.rb
136
123
  - lib/arel/nodes/over.rb
137
124
  - lib/arel/nodes/select_core.rb
@@ -149,7 +136,6 @@ files:
149
136
  - lib/arel/nodes/with.rb
150
137
  - lib/arel/order_predications.rb
151
138
  - lib/arel/predications.rb
152
- - lib/arel/relation.rb
153
139
  - lib/arel/select_manager.rb
154
140
  - lib/arel/sql/engine.rb
155
141
  - lib/arel/sql_literal.rb
@@ -175,14 +161,18 @@ files:
175
161
  - lib/arel/window_predications.rb
176
162
  - test/attributes/test_attribute.rb
177
163
  - test/helper.rb
164
+ - test/nodes/test_and.rb
178
165
  - test/nodes/test_as.rb
179
166
  - test/nodes/test_ascending.rb
180
167
  - test/nodes/test_bin.rb
181
168
  - test/nodes/test_count.rb
182
169
  - test/nodes/test_delete_statement.rb
183
170
  - test/nodes/test_descending.rb
171
+ - test/nodes/test_distinct.rb
184
172
  - test/nodes/test_equality.rb
185
173
  - test/nodes/test_extract.rb
174
+ - test/nodes/test_false.rb
175
+ - test/nodes/test_grouping.rb
186
176
  - test/nodes/test_infix_operation.rb
187
177
  - test/nodes/test_insert_statement.rb
188
178
  - test/nodes/test_named_function.rb
@@ -194,7 +184,10 @@ files:
194
184
  - test/nodes/test_select_statement.rb
195
185
  - test/nodes/test_sql_literal.rb
196
186
  - test/nodes/test_sum.rb
187
+ - test/nodes/test_table_alias.rb
188
+ - test/nodes/test_true.rb
197
189
  - test/nodes/test_update_statement.rb
190
+ - test/nodes/test_window.rb
198
191
  - test/support/fake_record.rb
199
192
  - test/test_activerecord_compat.rb
200
193
  - test/test_attributes.rb
@@ -217,51 +210,45 @@ files:
217
210
  - test/visitors/test_postgres.rb
218
211
  - test/visitors/test_sqlite.rb
219
212
  - test/visitors/test_to_sql.rb
220
- has_rdoc: true
221
213
  homepage: http://github.com/rails/arel
222
- licenses:
223
- - MIT
214
+ licenses: []
215
+ metadata: {}
224
216
  post_install_message:
225
- rdoc_options:
217
+ rdoc_options:
226
218
  - --main
227
219
  - README.markdown
228
- require_paths:
220
+ require_paths:
229
221
  - lib
230
- required_ruby_version: !ruby/object:Gem::Requirement
231
- none: false
232
- requirements:
233
- - - ">="
234
- - !ruby/object:Gem::Version
235
- hash: 3
236
- segments:
237
- - 0
238
- version: "0"
239
- required_rubygems_version: !ruby/object:Gem::Requirement
240
- none: false
241
- requirements:
242
- - - ">="
243
- - !ruby/object:Gem::Version
244
- hash: 3
245
- segments:
246
- - 0
247
- version: "0"
222
+ required_ruby_version: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - '>='
225
+ - !ruby/object:Gem::Version
226
+ version: '0'
227
+ required_rubygems_version: !ruby/object:Gem::Requirement
228
+ requirements:
229
+ - - '>'
230
+ - !ruby/object:Gem::Version
231
+ version: 1.3.1
248
232
  requirements: []
249
-
250
233
  rubyforge_project: arel
251
- rubygems_version: 1.6.2
234
+ rubygems_version: 2.0.0
252
235
  signing_key:
253
- specification_version: 3
236
+ specification_version: 4
254
237
  summary: Arel is a SQL AST manager for Ruby
255
- test_files:
238
+ test_files:
256
239
  - test/attributes/test_attribute.rb
240
+ - test/nodes/test_and.rb
257
241
  - test/nodes/test_as.rb
258
242
  - test/nodes/test_ascending.rb
259
243
  - test/nodes/test_bin.rb
260
244
  - test/nodes/test_count.rb
261
245
  - test/nodes/test_delete_statement.rb
262
246
  - test/nodes/test_descending.rb
247
+ - test/nodes/test_distinct.rb
263
248
  - test/nodes/test_equality.rb
264
249
  - test/nodes/test_extract.rb
250
+ - test/nodes/test_false.rb
251
+ - test/nodes/test_grouping.rb
265
252
  - test/nodes/test_infix_operation.rb
266
253
  - test/nodes/test_insert_statement.rb
267
254
  - test/nodes/test_named_function.rb
@@ -273,7 +260,10 @@ test_files:
273
260
  - test/nodes/test_select_statement.rb
274
261
  - test/nodes/test_sql_literal.rb
275
262
  - test/nodes/test_sum.rb
263
+ - test/nodes/test_table_alias.rb
264
+ - test/nodes/test_true.rb
276
265
  - test/nodes/test_update_statement.rb
266
+ - test/nodes/test_window.rb
277
267
  - test/test_activerecord_compat.rb
278
268
  - test/test_attributes.rb
279
269
  - test/test_crud.rb
@@ -1,6 +0,0 @@
1
- module Arel
2
- module Nodes
3
- class Ordering < Unary
4
- end
5
- end
6
- end
@@ -1,6 +0,0 @@
1
- module Arel
2
- ###
3
- # This is deprecated. Fix rails, then remove this.
4
- module Relation
5
- end
6
- end