arel 0.1.0 → 0.2.0

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 (116) hide show
  1. data/.gitmodules +3 -0
  2. data/History.txt +11 -0
  3. data/README.markdown +26 -26
  4. data/Rakefile +34 -46
  5. data/Thorfile +124 -0
  6. data/arel.gemspec +216 -201
  7. data/lib/arel/algebra/{primitives/attribute.rb → attribute.rb} +7 -7
  8. data/lib/arel/algebra/{extensions → core_extensions}/class.rb +2 -2
  9. data/lib/arel/algebra/{extensions → core_extensions}/hash.rb +1 -1
  10. data/lib/arel/algebra/{extensions → core_extensions}/object.rb +1 -1
  11. data/lib/arel/algebra/{extensions → core_extensions}/symbol.rb +1 -1
  12. data/lib/arel/algebra/core_extensions.rb +4 -0
  13. data/lib/arel/algebra/{primitives/ordering.rb → ordering.rb} +1 -1
  14. data/lib/arel/algebra/predicates.rb +32 -30
  15. data/lib/arel/algebra/relations/operations/from.rb +6 -0
  16. data/lib/arel/algebra/relations/operations/having.rb +13 -0
  17. data/lib/arel/algebra/relations/operations/join.rb +4 -0
  18. data/lib/arel/algebra/relations/operations/lock.rb +12 -0
  19. data/lib/arel/algebra/relations/operations/project.rb +1 -1
  20. data/lib/arel/algebra/relations/relation.rb +9 -2
  21. data/lib/arel/algebra/relations/utilities/compound.rb +2 -2
  22. data/lib/arel/algebra/relations.rb +3 -0
  23. data/lib/arel/algebra.rb +7 -2
  24. data/lib/arel/engines/memory/predicates.rb +26 -24
  25. data/lib/arel/engines/memory/relations/operations.rb +6 -0
  26. data/lib/arel/engines/sql/christener.rb +2 -1
  27. data/lib/arel/engines/sql/{extensions → core_extensions}/array.rb +6 -2
  28. data/lib/arel/engines/sql/{extensions → core_extensions}/nil_class.rb +1 -1
  29. data/lib/arel/engines/sql/{extensions → core_extensions}/object.rb +1 -1
  30. data/lib/arel/engines/sql/{extensions → core_extensions}/range.rb +1 -1
  31. data/lib/arel/engines/sql/core_extensions.rb +4 -0
  32. data/lib/arel/engines/sql/engine.rb +4 -0
  33. data/lib/arel/engines/sql/formatters.rb +12 -3
  34. data/lib/arel/engines/sql/predicates.rb +37 -35
  35. data/lib/arel/engines/sql/primitives.rb +10 -2
  36. data/lib/arel/engines/sql/relations/operations/join.rb +2 -2
  37. data/lib/arel/engines/sql/relations/relation.rb +46 -10
  38. data/lib/arel/engines/sql/relations/table.rb +18 -5
  39. data/lib/arel/engines/sql/relations/utilities/compound.rb +1 -1
  40. data/lib/arel/engines/sql/relations/writes.rb +58 -11
  41. data/lib/arel/engines/sql.rb +1 -1
  42. data/lib/arel/session.rb +9 -6
  43. data/lib/arel.rb +9 -8
  44. data/spec/arel/algebra/unit/predicates/binary_spec.rb +23 -21
  45. data/spec/arel/algebra/unit/predicates/equality_spec.rb +20 -18
  46. data/spec/arel/algebra/unit/predicates/in_spec.rb +7 -5
  47. data/spec/arel/algebra/unit/primitives/attribute_spec.rb +10 -12
  48. data/spec/arel/algebra/unit/primitives/expression_spec.rb +1 -1
  49. data/spec/arel/algebra/unit/primitives/value_spec.rb +1 -1
  50. data/spec/arel/algebra/unit/relations/alias_spec.rb +2 -2
  51. data/spec/arel/algebra/unit/relations/delete_spec.rb +1 -1
  52. data/spec/arel/algebra/unit/relations/group_spec.rb +1 -1
  53. data/spec/arel/algebra/unit/relations/insert_spec.rb +1 -1
  54. data/spec/arel/algebra/unit/relations/join_spec.rb +1 -1
  55. data/spec/arel/algebra/unit/relations/order_spec.rb +2 -2
  56. data/spec/arel/algebra/unit/relations/project_spec.rb +1 -1
  57. data/spec/arel/algebra/unit/relations/relation_spec.rb +9 -9
  58. data/spec/arel/algebra/unit/relations/skip_spec.rb +1 -1
  59. data/spec/arel/algebra/unit/relations/table_spec.rb +2 -2
  60. data/spec/arel/algebra/unit/relations/take_spec.rb +1 -1
  61. data/spec/arel/algebra/unit/relations/update_spec.rb +1 -1
  62. data/spec/arel/algebra/unit/relations/where_spec.rb +1 -1
  63. data/spec/arel/algebra/unit/session/session_spec.rb +6 -6
  64. data/spec/arel/engines/memory/integration/joins/cross_engine_spec.rb +3 -4
  65. data/spec/arel/engines/memory/unit/relations/array_spec.rb +1 -1
  66. data/spec/arel/engines/memory/unit/relations/insert_spec.rb +8 -8
  67. data/spec/arel/engines/memory/unit/relations/join_spec.rb +1 -1
  68. data/spec/arel/engines/memory/unit/relations/order_spec.rb +1 -1
  69. data/spec/arel/engines/memory/unit/relations/project_spec.rb +1 -1
  70. data/spec/arel/engines/memory/unit/relations/skip_spec.rb +1 -1
  71. data/spec/arel/engines/memory/unit/relations/take_spec.rb +1 -1
  72. data/spec/arel/engines/memory/unit/relations/where_spec.rb +1 -1
  73. data/spec/arel/engines/sql/integration/joins/with_adjacency_spec.rb +1 -1
  74. data/spec/arel/engines/sql/integration/joins/with_aggregations_spec.rb +1 -1
  75. data/spec/arel/engines/sql/integration/joins/with_compounds_spec.rb +1 -1
  76. data/spec/arel/engines/sql/unit/engine_spec.rb +1 -1
  77. data/spec/arel/engines/sql/unit/predicates/binary_spec.rb +73 -70
  78. data/spec/arel/engines/sql/unit/predicates/equality_spec.rb +45 -28
  79. data/spec/arel/engines/sql/unit/predicates/in_spec.rb +75 -54
  80. data/spec/arel/engines/sql/unit/predicates/predicates_spec.rb +48 -46
  81. data/spec/arel/engines/sql/unit/primitives/attribute_spec.rb +1 -1
  82. data/spec/arel/engines/sql/unit/primitives/expression_spec.rb +1 -1
  83. data/spec/arel/engines/sql/unit/primitives/literal_spec.rb +13 -1
  84. data/spec/arel/engines/sql/unit/primitives/value_spec.rb +3 -3
  85. data/spec/arel/engines/sql/unit/relations/alias_spec.rb +1 -1
  86. data/spec/arel/engines/sql/unit/relations/delete_spec.rb +1 -1
  87. data/spec/arel/engines/sql/unit/relations/from_spec.rb +50 -0
  88. data/spec/arel/engines/sql/unit/relations/group_spec.rb +1 -1
  89. data/spec/arel/engines/sql/unit/relations/having_spec.rb +36 -0
  90. data/spec/arel/engines/sql/unit/relations/insert_spec.rb +1 -1
  91. data/spec/arel/engines/sql/unit/relations/join_spec.rb +85 -4
  92. data/spec/arel/engines/sql/unit/relations/lock_spec.rb +61 -0
  93. data/spec/arel/engines/sql/unit/relations/order_spec.rb +1 -1
  94. data/spec/arel/engines/sql/unit/relations/project_spec.rb +1 -1
  95. data/spec/arel/engines/sql/unit/relations/skip_spec.rb +1 -1
  96. data/spec/arel/engines/sql/unit/relations/table_spec.rb +42 -3
  97. data/spec/arel/engines/sql/unit/relations/take_spec.rb +1 -1
  98. data/spec/arel/engines/sql/unit/relations/update_spec.rb +13 -7
  99. data/spec/arel/engines/sql/unit/relations/where_spec.rb +1 -1
  100. data/spec/connections/mysql_connection.rb +3 -3
  101. data/spec/connections/postgresql_connection.rb +2 -2
  102. data/spec/connections/sqlite3_connection.rb +3 -2
  103. data/spec/doubles/hash.rb +4 -0
  104. data/spec/schemas/mysql_schema.rb +7 -0
  105. data/spec/schemas/postgresql_schema.rb +7 -0
  106. data/spec/schemas/sqlite3_schema.rb +7 -0
  107. data/spec/spec.opts +3 -0
  108. data/spec/spec_helper.rb +9 -1
  109. metadata +50 -25
  110. data/VERSION +0 -1
  111. data/lib/arel/.DS_Store +0 -0
  112. data/lib/arel/algebra/extensions.rb +0 -4
  113. data/lib/arel/algebra/primitives.rb +0 -5
  114. data/lib/arel/engines/sql/extensions.rb +0 -4
  115. /data/lib/arel/algebra/{primitives/expression.rb → expression.rb} +0 -0
  116. /data/lib/arel/algebra/{primitives/value.rb → value.rb} +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryan Helmkamp
@@ -10,44 +10,61 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-08-06 00:00:00 -04:00
13
+ date: 2010-01-31 00:00:00 -05:00
14
14
  default_executable:
15
- dependencies: []
16
-
17
- description:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: activesupport
18
+ type: :runtime
19
+ version_requirement:
20
+ version_requirements: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: 3.0.pre
25
+ version:
26
+ description: |-
27
+ Arel is a Relational Algebra for Ruby. It 1) simplifies the generation complex
28
+ of SQL queries and it 2) adapts to various RDBMS systems. It is intended to be
29
+ a framework framework; that is, you can build your own ORM with it, focusing on
30
+ innovative object and collection modeling as opposed to database compatibility
31
+ and query generation.
18
32
  email: bryan@brynary.com
19
33
  executables: []
20
34
 
21
35
  extensions: []
22
36
 
23
37
  extra_rdoc_files:
38
+ - History.txt
24
39
  - README.markdown
25
40
  files:
26
41
  - .gitignore
42
+ - .gitmodules
43
+ - History.txt
27
44
  - README.markdown
28
45
  - Rakefile
29
- - VERSION
46
+ - Thorfile
30
47
  - arel.gemspec
31
48
  - doc/CONVENTIONS
32
49
  - doc/TODO
33
50
  - lib/arel.rb
34
- - lib/arel/.DS_Store
35
51
  - lib/arel/algebra.rb
36
- - lib/arel/algebra/extensions.rb
37
- - lib/arel/algebra/extensions/class.rb
38
- - lib/arel/algebra/extensions/hash.rb
39
- - lib/arel/algebra/extensions/object.rb
40
- - lib/arel/algebra/extensions/symbol.rb
52
+ - lib/arel/algebra/attribute.rb
53
+ - lib/arel/algebra/core_extensions.rb
54
+ - lib/arel/algebra/core_extensions/class.rb
55
+ - lib/arel/algebra/core_extensions/hash.rb
56
+ - lib/arel/algebra/core_extensions/object.rb
57
+ - lib/arel/algebra/core_extensions/symbol.rb
58
+ - lib/arel/algebra/expression.rb
59
+ - lib/arel/algebra/ordering.rb
41
60
  - lib/arel/algebra/predicates.rb
42
- - lib/arel/algebra/primitives.rb
43
- - lib/arel/algebra/primitives/attribute.rb
44
- - lib/arel/algebra/primitives/expression.rb
45
- - lib/arel/algebra/primitives/ordering.rb
46
- - lib/arel/algebra/primitives/value.rb
47
61
  - lib/arel/algebra/relations.rb
48
62
  - lib/arel/algebra/relations/operations/alias.rb
63
+ - lib/arel/algebra/relations/operations/from.rb
49
64
  - lib/arel/algebra/relations/operations/group.rb
65
+ - lib/arel/algebra/relations/operations/having.rb
50
66
  - lib/arel/algebra/relations/operations/join.rb
67
+ - lib/arel/algebra/relations/operations/lock.rb
51
68
  - lib/arel/algebra/relations/operations/order.rb
52
69
  - lib/arel/algebra/relations/operations/project.rb
53
70
  - lib/arel/algebra/relations/operations/skip.rb
@@ -59,6 +76,7 @@ files:
59
76
  - lib/arel/algebra/relations/utilities/externalization.rb
60
77
  - lib/arel/algebra/relations/utilities/nil.rb
61
78
  - lib/arel/algebra/relations/writes.rb
79
+ - lib/arel/algebra/value.rb
62
80
  - lib/arel/engines.rb
63
81
  - lib/arel/engines/memory.rb
64
82
  - lib/arel/engines/memory/engine.rb
@@ -71,12 +89,12 @@ files:
71
89
  - lib/arel/engines/memory/relations/writes.rb
72
90
  - lib/arel/engines/sql.rb
73
91
  - lib/arel/engines/sql/christener.rb
92
+ - lib/arel/engines/sql/core_extensions.rb
93
+ - lib/arel/engines/sql/core_extensions/array.rb
94
+ - lib/arel/engines/sql/core_extensions/nil_class.rb
95
+ - lib/arel/engines/sql/core_extensions/object.rb
96
+ - lib/arel/engines/sql/core_extensions/range.rb
74
97
  - lib/arel/engines/sql/engine.rb
75
- - lib/arel/engines/sql/extensions.rb
76
- - lib/arel/engines/sql/extensions/array.rb
77
- - lib/arel/engines/sql/extensions/nil_class.rb
78
- - lib/arel/engines/sql/extensions/object.rb
79
- - lib/arel/engines/sql/extensions/range.rb
80
98
  - lib/arel/engines/sql/formatters.rb
81
99
  - lib/arel/engines/sql/predicates.rb
82
100
  - lib/arel/engines/sql/primitives.rb
@@ -134,9 +152,12 @@ files:
134
152
  - spec/arel/engines/sql/unit/primitives/value_spec.rb
135
153
  - spec/arel/engines/sql/unit/relations/alias_spec.rb
136
154
  - spec/arel/engines/sql/unit/relations/delete_spec.rb
155
+ - spec/arel/engines/sql/unit/relations/from_spec.rb
137
156
  - spec/arel/engines/sql/unit/relations/group_spec.rb
157
+ - spec/arel/engines/sql/unit/relations/having_spec.rb
138
158
  - spec/arel/engines/sql/unit/relations/insert_spec.rb
139
159
  - spec/arel/engines/sql/unit/relations/join_spec.rb
160
+ - spec/arel/engines/sql/unit/relations/lock_spec.rb
140
161
  - spec/arel/engines/sql/unit/relations/order_spec.rb
141
162
  - spec/arel/engines/sql/unit/relations/project_spec.rb
142
163
  - spec/arel/engines/sql/unit/relations/skip_spec.rb
@@ -154,14 +175,15 @@ files:
154
175
  - spec/schemas/mysql_schema.rb
155
176
  - spec/schemas/postgresql_schema.rb
156
177
  - spec/schemas/sqlite3_schema.rb
178
+ - spec/spec.opts
157
179
  - spec/spec_helper.rb
158
180
  has_rdoc: true
159
181
  homepage: http://github.com/brynary/arel
160
182
  licenses: []
161
183
 
162
184
  post_install_message:
163
- rdoc_options:
164
- - --charset=UTF-8
185
+ rdoc_options: []
186
+
165
187
  require_paths:
166
188
  - lib
167
189
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -179,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
201
  requirements: []
180
202
 
181
203
  rubyforge_project: arel
182
- rubygems_version: 1.3.4
204
+ rubygems_version: 1.3.5
183
205
  signing_key:
184
206
  specification_version: 3
185
207
  summary: Arel is a relational algebra engine for Ruby
@@ -227,9 +249,12 @@ test_files:
227
249
  - spec/arel/engines/sql/unit/primitives/value_spec.rb
228
250
  - spec/arel/engines/sql/unit/relations/alias_spec.rb
229
251
  - spec/arel/engines/sql/unit/relations/delete_spec.rb
252
+ - spec/arel/engines/sql/unit/relations/from_spec.rb
230
253
  - spec/arel/engines/sql/unit/relations/group_spec.rb
254
+ - spec/arel/engines/sql/unit/relations/having_spec.rb
231
255
  - spec/arel/engines/sql/unit/relations/insert_spec.rb
232
256
  - spec/arel/engines/sql/unit/relations/join_spec.rb
257
+ - spec/arel/engines/sql/unit/relations/lock_spec.rb
233
258
  - spec/arel/engines/sql/unit/relations/order_spec.rb
234
259
  - spec/arel/engines/sql/unit/relations/project_spec.rb
235
260
  - spec/arel/engines/sql/unit/relations/skip_spec.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.1.0
data/lib/arel/.DS_Store DELETED
Binary file
@@ -1,4 +0,0 @@
1
- require 'arel/algebra/extensions/object'
2
- require 'arel/algebra/extensions/class'
3
- require 'arel/algebra/extensions/symbol'
4
- require 'arel/algebra/extensions/hash'
@@ -1,5 +0,0 @@
1
- require 'arel/algebra/primitives/attribute'
2
- require 'arel/algebra/primitives/ordering'
3
- require 'arel/algebra/primitives/value'
4
- require 'arel/algebra/primitives/expression'
5
-
@@ -1,4 +0,0 @@
1
- require 'arel/engines/sql/extensions/object'
2
- require 'arel/engines/sql/extensions/array'
3
- require 'arel/engines/sql/extensions/range'
4
- require 'arel/engines/sql/extensions/nil_class'
File without changes