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
data/arel.gemspec CHANGED
@@ -1,224 +1,236 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
4
1
  # -*- encoding: utf-8 -*-
5
2
 
6
3
  Gem::Specification.new do |s|
7
4
  s.name = %q{arel}
8
- s.version = "0.1.0"
5
+ s.version = "0.2.0"
9
6
 
10
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
8
  s.authors = ["Bryan Helmkamp", "Nick Kallen"]
12
- s.date = %q{2009-08-06}
9
+ s.date = %q{2010-01-31}
10
+ s.description = %q{Arel is a Relational Algebra for Ruby. It 1) simplifies the generation complex
11
+ of SQL queries and it 2) adapts to various RDBMS systems. It is intended to be
12
+ a framework framework; that is, you can build your own ORM with it, focusing on
13
+ innovative object and collection modeling as opposed to database compatibility
14
+ and query generation.}
13
15
  s.email = %q{bryan@brynary.com}
14
16
  s.extra_rdoc_files = [
17
+ "History.txt",
15
18
  "README.markdown"
16
19
  ]
17
20
  s.files = [
18
21
  ".gitignore",
19
- "README.markdown",
20
- "Rakefile",
21
- "VERSION",
22
- "arel.gemspec",
23
- "doc/CONVENTIONS",
24
- "doc/TODO",
25
- "lib/arel.rb",
26
- "lib/arel/.DS_Store",
27
- "lib/arel/algebra.rb",
28
- "lib/arel/algebra/extensions.rb",
29
- "lib/arel/algebra/extensions/class.rb",
30
- "lib/arel/algebra/extensions/hash.rb",
31
- "lib/arel/algebra/extensions/object.rb",
32
- "lib/arel/algebra/extensions/symbol.rb",
33
- "lib/arel/algebra/predicates.rb",
34
- "lib/arel/algebra/primitives.rb",
35
- "lib/arel/algebra/primitives/attribute.rb",
36
- "lib/arel/algebra/primitives/expression.rb",
37
- "lib/arel/algebra/primitives/ordering.rb",
38
- "lib/arel/algebra/primitives/value.rb",
39
- "lib/arel/algebra/relations.rb",
40
- "lib/arel/algebra/relations/operations/alias.rb",
41
- "lib/arel/algebra/relations/operations/group.rb",
42
- "lib/arel/algebra/relations/operations/join.rb",
43
- "lib/arel/algebra/relations/operations/order.rb",
44
- "lib/arel/algebra/relations/operations/project.rb",
45
- "lib/arel/algebra/relations/operations/skip.rb",
46
- "lib/arel/algebra/relations/operations/take.rb",
47
- "lib/arel/algebra/relations/operations/where.rb",
48
- "lib/arel/algebra/relations/relation.rb",
49
- "lib/arel/algebra/relations/row.rb",
50
- "lib/arel/algebra/relations/utilities/compound.rb",
51
- "lib/arel/algebra/relations/utilities/externalization.rb",
52
- "lib/arel/algebra/relations/utilities/nil.rb",
53
- "lib/arel/algebra/relations/writes.rb",
54
- "lib/arel/engines.rb",
55
- "lib/arel/engines/memory.rb",
56
- "lib/arel/engines/memory/engine.rb",
57
- "lib/arel/engines/memory/predicates.rb",
58
- "lib/arel/engines/memory/primitives.rb",
59
- "lib/arel/engines/memory/relations.rb",
60
- "lib/arel/engines/memory/relations/array.rb",
61
- "lib/arel/engines/memory/relations/compound.rb",
62
- "lib/arel/engines/memory/relations/operations.rb",
63
- "lib/arel/engines/memory/relations/writes.rb",
64
- "lib/arel/engines/sql.rb",
65
- "lib/arel/engines/sql/christener.rb",
66
- "lib/arel/engines/sql/engine.rb",
67
- "lib/arel/engines/sql/extensions.rb",
68
- "lib/arel/engines/sql/extensions/array.rb",
69
- "lib/arel/engines/sql/extensions/nil_class.rb",
70
- "lib/arel/engines/sql/extensions/object.rb",
71
- "lib/arel/engines/sql/extensions/range.rb",
72
- "lib/arel/engines/sql/formatters.rb",
73
- "lib/arel/engines/sql/predicates.rb",
74
- "lib/arel/engines/sql/primitives.rb",
75
- "lib/arel/engines/sql/relations.rb",
76
- "lib/arel/engines/sql/relations/operations/alias.rb",
77
- "lib/arel/engines/sql/relations/operations/join.rb",
78
- "lib/arel/engines/sql/relations/relation.rb",
79
- "lib/arel/engines/sql/relations/table.rb",
80
- "lib/arel/engines/sql/relations/utilities/compound.rb",
81
- "lib/arel/engines/sql/relations/utilities/externalization.rb",
82
- "lib/arel/engines/sql/relations/utilities/nil.rb",
83
- "lib/arel/engines/sql/relations/utilities/recursion.rb",
84
- "lib/arel/engines/sql/relations/writes.rb",
85
- "lib/arel/session.rb",
86
- "spec/arel/algebra/unit/predicates/binary_spec.rb",
87
- "spec/arel/algebra/unit/predicates/equality_spec.rb",
88
- "spec/arel/algebra/unit/predicates/in_spec.rb",
89
- "spec/arel/algebra/unit/primitives/attribute_spec.rb",
90
- "spec/arel/algebra/unit/primitives/expression_spec.rb",
91
- "spec/arel/algebra/unit/primitives/value_spec.rb",
92
- "spec/arel/algebra/unit/relations/alias_spec.rb",
93
- "spec/arel/algebra/unit/relations/delete_spec.rb",
94
- "spec/arel/algebra/unit/relations/group_spec.rb",
95
- "spec/arel/algebra/unit/relations/insert_spec.rb",
96
- "spec/arel/algebra/unit/relations/join_spec.rb",
97
- "spec/arel/algebra/unit/relations/order_spec.rb",
98
- "spec/arel/algebra/unit/relations/project_spec.rb",
99
- "spec/arel/algebra/unit/relations/relation_spec.rb",
100
- "spec/arel/algebra/unit/relations/skip_spec.rb",
101
- "spec/arel/algebra/unit/relations/table_spec.rb",
102
- "spec/arel/algebra/unit/relations/take_spec.rb",
103
- "spec/arel/algebra/unit/relations/update_spec.rb",
104
- "spec/arel/algebra/unit/relations/where_spec.rb",
105
- "spec/arel/algebra/unit/session/session_spec.rb",
106
- "spec/arel/engines/memory/integration/joins/cross_engine_spec.rb",
107
- "spec/arel/engines/memory/unit/relations/array_spec.rb",
108
- "spec/arel/engines/memory/unit/relations/insert_spec.rb",
109
- "spec/arel/engines/memory/unit/relations/join_spec.rb",
110
- "spec/arel/engines/memory/unit/relations/order_spec.rb",
111
- "spec/arel/engines/memory/unit/relations/project_spec.rb",
112
- "spec/arel/engines/memory/unit/relations/skip_spec.rb",
113
- "spec/arel/engines/memory/unit/relations/take_spec.rb",
114
- "spec/arel/engines/memory/unit/relations/where_spec.rb",
115
- "spec/arel/engines/sql/integration/joins/with_adjacency_spec.rb",
116
- "spec/arel/engines/sql/integration/joins/with_aggregations_spec.rb",
117
- "spec/arel/engines/sql/integration/joins/with_compounds_spec.rb",
118
- "spec/arel/engines/sql/unit/engine_spec.rb",
119
- "spec/arel/engines/sql/unit/predicates/binary_spec.rb",
120
- "spec/arel/engines/sql/unit/predicates/equality_spec.rb",
121
- "spec/arel/engines/sql/unit/predicates/in_spec.rb",
122
- "spec/arel/engines/sql/unit/predicates/predicates_spec.rb",
123
- "spec/arel/engines/sql/unit/primitives/attribute_spec.rb",
124
- "spec/arel/engines/sql/unit/primitives/expression_spec.rb",
125
- "spec/arel/engines/sql/unit/primitives/literal_spec.rb",
126
- "spec/arel/engines/sql/unit/primitives/value_spec.rb",
127
- "spec/arel/engines/sql/unit/relations/alias_spec.rb",
128
- "spec/arel/engines/sql/unit/relations/delete_spec.rb",
129
- "spec/arel/engines/sql/unit/relations/group_spec.rb",
130
- "spec/arel/engines/sql/unit/relations/insert_spec.rb",
131
- "spec/arel/engines/sql/unit/relations/join_spec.rb",
132
- "spec/arel/engines/sql/unit/relations/order_spec.rb",
133
- "spec/arel/engines/sql/unit/relations/project_spec.rb",
134
- "spec/arel/engines/sql/unit/relations/skip_spec.rb",
135
- "spec/arel/engines/sql/unit/relations/table_spec.rb",
136
- "spec/arel/engines/sql/unit/relations/take_spec.rb",
137
- "spec/arel/engines/sql/unit/relations/update_spec.rb",
138
- "spec/arel/engines/sql/unit/relations/where_spec.rb",
139
- "spec/connections/mysql_connection.rb",
140
- "spec/connections/postgresql_connection.rb",
141
- "spec/connections/sqlite3_connection.rb",
142
- "spec/doubles/hash.rb",
143
- "spec/matchers/be_like.rb",
144
- "spec/matchers/disambiguate_attributes.rb",
145
- "spec/matchers/hash_the_same_as.rb",
146
- "spec/schemas/mysql_schema.rb",
147
- "spec/schemas/postgresql_schema.rb",
148
- "spec/schemas/sqlite3_schema.rb",
149
- "spec/spec_helper.rb"
22
+ ".gitmodules",
23
+ "History.txt",
24
+ "README.markdown",
25
+ "Rakefile",
26
+ "Thorfile",
27
+ "arel.gemspec",
28
+ "doc/CONVENTIONS",
29
+ "doc/TODO",
30
+ "lib/arel.rb",
31
+ "lib/arel/algebra.rb",
32
+ "lib/arel/algebra/attribute.rb",
33
+ "lib/arel/algebra/core_extensions.rb",
34
+ "lib/arel/algebra/core_extensions/class.rb",
35
+ "lib/arel/algebra/core_extensions/hash.rb",
36
+ "lib/arel/algebra/core_extensions/object.rb",
37
+ "lib/arel/algebra/core_extensions/symbol.rb",
38
+ "lib/arel/algebra/expression.rb",
39
+ "lib/arel/algebra/ordering.rb",
40
+ "lib/arel/algebra/predicates.rb",
41
+ "lib/arel/algebra/relations.rb",
42
+ "lib/arel/algebra/relations/operations/alias.rb",
43
+ "lib/arel/algebra/relations/operations/from.rb",
44
+ "lib/arel/algebra/relations/operations/group.rb",
45
+ "lib/arel/algebra/relations/operations/having.rb",
46
+ "lib/arel/algebra/relations/operations/join.rb",
47
+ "lib/arel/algebra/relations/operations/lock.rb",
48
+ "lib/arel/algebra/relations/operations/order.rb",
49
+ "lib/arel/algebra/relations/operations/project.rb",
50
+ "lib/arel/algebra/relations/operations/skip.rb",
51
+ "lib/arel/algebra/relations/operations/take.rb",
52
+ "lib/arel/algebra/relations/operations/where.rb",
53
+ "lib/arel/algebra/relations/relation.rb",
54
+ "lib/arel/algebra/relations/row.rb",
55
+ "lib/arel/algebra/relations/utilities/compound.rb",
56
+ "lib/arel/algebra/relations/utilities/externalization.rb",
57
+ "lib/arel/algebra/relations/utilities/nil.rb",
58
+ "lib/arel/algebra/relations/writes.rb",
59
+ "lib/arel/algebra/value.rb",
60
+ "lib/arel/engines.rb",
61
+ "lib/arel/engines/memory.rb",
62
+ "lib/arel/engines/memory/engine.rb",
63
+ "lib/arel/engines/memory/predicates.rb",
64
+ "lib/arel/engines/memory/primitives.rb",
65
+ "lib/arel/engines/memory/relations.rb",
66
+ "lib/arel/engines/memory/relations/array.rb",
67
+ "lib/arel/engines/memory/relations/compound.rb",
68
+ "lib/arel/engines/memory/relations/operations.rb",
69
+ "lib/arel/engines/memory/relations/writes.rb",
70
+ "lib/arel/engines/sql.rb",
71
+ "lib/arel/engines/sql/christener.rb",
72
+ "lib/arel/engines/sql/core_extensions.rb",
73
+ "lib/arel/engines/sql/core_extensions/array.rb",
74
+ "lib/arel/engines/sql/core_extensions/nil_class.rb",
75
+ "lib/arel/engines/sql/core_extensions/object.rb",
76
+ "lib/arel/engines/sql/core_extensions/range.rb",
77
+ "lib/arel/engines/sql/engine.rb",
78
+ "lib/arel/engines/sql/formatters.rb",
79
+ "lib/arel/engines/sql/predicates.rb",
80
+ "lib/arel/engines/sql/primitives.rb",
81
+ "lib/arel/engines/sql/relations.rb",
82
+ "lib/arel/engines/sql/relations/operations/alias.rb",
83
+ "lib/arel/engines/sql/relations/operations/join.rb",
84
+ "lib/arel/engines/sql/relations/relation.rb",
85
+ "lib/arel/engines/sql/relations/table.rb",
86
+ "lib/arel/engines/sql/relations/utilities/compound.rb",
87
+ "lib/arel/engines/sql/relations/utilities/externalization.rb",
88
+ "lib/arel/engines/sql/relations/utilities/nil.rb",
89
+ "lib/arel/engines/sql/relations/utilities/recursion.rb",
90
+ "lib/arel/engines/sql/relations/writes.rb",
91
+ "lib/arel/session.rb",
92
+ "spec/arel/algebra/unit/predicates/binary_spec.rb",
93
+ "spec/arel/algebra/unit/predicates/equality_spec.rb",
94
+ "spec/arel/algebra/unit/predicates/in_spec.rb",
95
+ "spec/arel/algebra/unit/primitives/attribute_spec.rb",
96
+ "spec/arel/algebra/unit/primitives/expression_spec.rb",
97
+ "spec/arel/algebra/unit/primitives/value_spec.rb",
98
+ "spec/arel/algebra/unit/relations/alias_spec.rb",
99
+ "spec/arel/algebra/unit/relations/delete_spec.rb",
100
+ "spec/arel/algebra/unit/relations/group_spec.rb",
101
+ "spec/arel/algebra/unit/relations/insert_spec.rb",
102
+ "spec/arel/algebra/unit/relations/join_spec.rb",
103
+ "spec/arel/algebra/unit/relations/order_spec.rb",
104
+ "spec/arel/algebra/unit/relations/project_spec.rb",
105
+ "spec/arel/algebra/unit/relations/relation_spec.rb",
106
+ "spec/arel/algebra/unit/relations/skip_spec.rb",
107
+ "spec/arel/algebra/unit/relations/table_spec.rb",
108
+ "spec/arel/algebra/unit/relations/take_spec.rb",
109
+ "spec/arel/algebra/unit/relations/update_spec.rb",
110
+ "spec/arel/algebra/unit/relations/where_spec.rb",
111
+ "spec/arel/algebra/unit/session/session_spec.rb",
112
+ "spec/arel/engines/memory/integration/joins/cross_engine_spec.rb",
113
+ "spec/arel/engines/memory/unit/relations/array_spec.rb",
114
+ "spec/arel/engines/memory/unit/relations/insert_spec.rb",
115
+ "spec/arel/engines/memory/unit/relations/join_spec.rb",
116
+ "spec/arel/engines/memory/unit/relations/order_spec.rb",
117
+ "spec/arel/engines/memory/unit/relations/project_spec.rb",
118
+ "spec/arel/engines/memory/unit/relations/skip_spec.rb",
119
+ "spec/arel/engines/memory/unit/relations/take_spec.rb",
120
+ "spec/arel/engines/memory/unit/relations/where_spec.rb",
121
+ "spec/arel/engines/sql/integration/joins/with_adjacency_spec.rb",
122
+ "spec/arel/engines/sql/integration/joins/with_aggregations_spec.rb",
123
+ "spec/arel/engines/sql/integration/joins/with_compounds_spec.rb",
124
+ "spec/arel/engines/sql/unit/engine_spec.rb",
125
+ "spec/arel/engines/sql/unit/predicates/binary_spec.rb",
126
+ "spec/arel/engines/sql/unit/predicates/equality_spec.rb",
127
+ "spec/arel/engines/sql/unit/predicates/in_spec.rb",
128
+ "spec/arel/engines/sql/unit/predicates/predicates_spec.rb",
129
+ "spec/arel/engines/sql/unit/primitives/attribute_spec.rb",
130
+ "spec/arel/engines/sql/unit/primitives/expression_spec.rb",
131
+ "spec/arel/engines/sql/unit/primitives/literal_spec.rb",
132
+ "spec/arel/engines/sql/unit/primitives/value_spec.rb",
133
+ "spec/arel/engines/sql/unit/relations/alias_spec.rb",
134
+ "spec/arel/engines/sql/unit/relations/delete_spec.rb",
135
+ "spec/arel/engines/sql/unit/relations/from_spec.rb",
136
+ "spec/arel/engines/sql/unit/relations/group_spec.rb",
137
+ "spec/arel/engines/sql/unit/relations/having_spec.rb",
138
+ "spec/arel/engines/sql/unit/relations/insert_spec.rb",
139
+ "spec/arel/engines/sql/unit/relations/join_spec.rb",
140
+ "spec/arel/engines/sql/unit/relations/lock_spec.rb",
141
+ "spec/arel/engines/sql/unit/relations/order_spec.rb",
142
+ "spec/arel/engines/sql/unit/relations/project_spec.rb",
143
+ "spec/arel/engines/sql/unit/relations/skip_spec.rb",
144
+ "spec/arel/engines/sql/unit/relations/table_spec.rb",
145
+ "spec/arel/engines/sql/unit/relations/take_spec.rb",
146
+ "spec/arel/engines/sql/unit/relations/update_spec.rb",
147
+ "spec/arel/engines/sql/unit/relations/where_spec.rb",
148
+ "spec/connections/mysql_connection.rb",
149
+ "spec/connections/postgresql_connection.rb",
150
+ "spec/connections/sqlite3_connection.rb",
151
+ "spec/doubles/hash.rb",
152
+ "spec/matchers/be_like.rb",
153
+ "spec/matchers/disambiguate_attributes.rb",
154
+ "spec/matchers/hash_the_same_as.rb",
155
+ "spec/schemas/mysql_schema.rb",
156
+ "spec/schemas/postgresql_schema.rb",
157
+ "spec/schemas/sqlite3_schema.rb",
158
+ "spec/spec.opts",
159
+ "spec/spec_helper.rb"
150
160
  ]
151
161
  s.homepage = %q{http://github.com/brynary/arel}
152
- s.rdoc_options = ["--charset=UTF-8"]
153
162
  s.require_paths = ["lib"]
154
163
  s.rubyforge_project = %q{arel}
155
- s.rubygems_version = %q{1.3.4}
164
+ s.rubygems_version = %q{1.3.5}
156
165
  s.summary = %q{Arel is a relational algebra engine for Ruby}
157
166
  s.test_files = [
158
167
  "spec/arel/algebra/unit/predicates/binary_spec.rb",
159
- "spec/arel/algebra/unit/predicates/equality_spec.rb",
160
- "spec/arel/algebra/unit/predicates/in_spec.rb",
161
- "spec/arel/algebra/unit/primitives/attribute_spec.rb",
162
- "spec/arel/algebra/unit/primitives/expression_spec.rb",
163
- "spec/arel/algebra/unit/primitives/value_spec.rb",
164
- "spec/arel/algebra/unit/relations/alias_spec.rb",
165
- "spec/arel/algebra/unit/relations/delete_spec.rb",
166
- "spec/arel/algebra/unit/relations/group_spec.rb",
167
- "spec/arel/algebra/unit/relations/insert_spec.rb",
168
- "spec/arel/algebra/unit/relations/join_spec.rb",
169
- "spec/arel/algebra/unit/relations/order_spec.rb",
170
- "spec/arel/algebra/unit/relations/project_spec.rb",
171
- "spec/arel/algebra/unit/relations/relation_spec.rb",
172
- "spec/arel/algebra/unit/relations/skip_spec.rb",
173
- "spec/arel/algebra/unit/relations/table_spec.rb",
174
- "spec/arel/algebra/unit/relations/take_spec.rb",
175
- "spec/arel/algebra/unit/relations/update_spec.rb",
176
- "spec/arel/algebra/unit/relations/where_spec.rb",
177
- "spec/arel/algebra/unit/session/session_spec.rb",
178
- "spec/arel/engines/memory/integration/joins/cross_engine_spec.rb",
179
- "spec/arel/engines/memory/unit/relations/array_spec.rb",
180
- "spec/arel/engines/memory/unit/relations/insert_spec.rb",
181
- "spec/arel/engines/memory/unit/relations/join_spec.rb",
182
- "spec/arel/engines/memory/unit/relations/order_spec.rb",
183
- "spec/arel/engines/memory/unit/relations/project_spec.rb",
184
- "spec/arel/engines/memory/unit/relations/skip_spec.rb",
185
- "spec/arel/engines/memory/unit/relations/take_spec.rb",
186
- "spec/arel/engines/memory/unit/relations/where_spec.rb",
187
- "spec/arel/engines/sql/integration/joins/with_adjacency_spec.rb",
188
- "spec/arel/engines/sql/integration/joins/with_aggregations_spec.rb",
189
- "spec/arel/engines/sql/integration/joins/with_compounds_spec.rb",
190
- "spec/arel/engines/sql/unit/engine_spec.rb",
191
- "spec/arel/engines/sql/unit/predicates/binary_spec.rb",
192
- "spec/arel/engines/sql/unit/predicates/equality_spec.rb",
193
- "spec/arel/engines/sql/unit/predicates/in_spec.rb",
194
- "spec/arel/engines/sql/unit/predicates/predicates_spec.rb",
195
- "spec/arel/engines/sql/unit/primitives/attribute_spec.rb",
196
- "spec/arel/engines/sql/unit/primitives/expression_spec.rb",
197
- "spec/arel/engines/sql/unit/primitives/literal_spec.rb",
198
- "spec/arel/engines/sql/unit/primitives/value_spec.rb",
199
- "spec/arel/engines/sql/unit/relations/alias_spec.rb",
200
- "spec/arel/engines/sql/unit/relations/delete_spec.rb",
201
- "spec/arel/engines/sql/unit/relations/group_spec.rb",
202
- "spec/arel/engines/sql/unit/relations/insert_spec.rb",
203
- "spec/arel/engines/sql/unit/relations/join_spec.rb",
204
- "spec/arel/engines/sql/unit/relations/order_spec.rb",
205
- "spec/arel/engines/sql/unit/relations/project_spec.rb",
206
- "spec/arel/engines/sql/unit/relations/skip_spec.rb",
207
- "spec/arel/engines/sql/unit/relations/table_spec.rb",
208
- "spec/arel/engines/sql/unit/relations/take_spec.rb",
209
- "spec/arel/engines/sql/unit/relations/update_spec.rb",
210
- "spec/arel/engines/sql/unit/relations/where_spec.rb",
211
- "spec/connections/mysql_connection.rb",
212
- "spec/connections/postgresql_connection.rb",
213
- "spec/connections/sqlite3_connection.rb",
214
- "spec/doubles/hash.rb",
215
- "spec/matchers/be_like.rb",
216
- "spec/matchers/disambiguate_attributes.rb",
217
- "spec/matchers/hash_the_same_as.rb",
218
- "spec/schemas/mysql_schema.rb",
219
- "spec/schemas/postgresql_schema.rb",
220
- "spec/schemas/sqlite3_schema.rb",
221
- "spec/spec_helper.rb"
168
+ "spec/arel/algebra/unit/predicates/equality_spec.rb",
169
+ "spec/arel/algebra/unit/predicates/in_spec.rb",
170
+ "spec/arel/algebra/unit/primitives/attribute_spec.rb",
171
+ "spec/arel/algebra/unit/primitives/expression_spec.rb",
172
+ "spec/arel/algebra/unit/primitives/value_spec.rb",
173
+ "spec/arel/algebra/unit/relations/alias_spec.rb",
174
+ "spec/arel/algebra/unit/relations/delete_spec.rb",
175
+ "spec/arel/algebra/unit/relations/group_spec.rb",
176
+ "spec/arel/algebra/unit/relations/insert_spec.rb",
177
+ "spec/arel/algebra/unit/relations/join_spec.rb",
178
+ "spec/arel/algebra/unit/relations/order_spec.rb",
179
+ "spec/arel/algebra/unit/relations/project_spec.rb",
180
+ "spec/arel/algebra/unit/relations/relation_spec.rb",
181
+ "spec/arel/algebra/unit/relations/skip_spec.rb",
182
+ "spec/arel/algebra/unit/relations/table_spec.rb",
183
+ "spec/arel/algebra/unit/relations/take_spec.rb",
184
+ "spec/arel/algebra/unit/relations/update_spec.rb",
185
+ "spec/arel/algebra/unit/relations/where_spec.rb",
186
+ "spec/arel/algebra/unit/session/session_spec.rb",
187
+ "spec/arel/engines/memory/integration/joins/cross_engine_spec.rb",
188
+ "spec/arel/engines/memory/unit/relations/array_spec.rb",
189
+ "spec/arel/engines/memory/unit/relations/insert_spec.rb",
190
+ "spec/arel/engines/memory/unit/relations/join_spec.rb",
191
+ "spec/arel/engines/memory/unit/relations/order_spec.rb",
192
+ "spec/arel/engines/memory/unit/relations/project_spec.rb",
193
+ "spec/arel/engines/memory/unit/relations/skip_spec.rb",
194
+ "spec/arel/engines/memory/unit/relations/take_spec.rb",
195
+ "spec/arel/engines/memory/unit/relations/where_spec.rb",
196
+ "spec/arel/engines/sql/integration/joins/with_adjacency_spec.rb",
197
+ "spec/arel/engines/sql/integration/joins/with_aggregations_spec.rb",
198
+ "spec/arel/engines/sql/integration/joins/with_compounds_spec.rb",
199
+ "spec/arel/engines/sql/unit/engine_spec.rb",
200
+ "spec/arel/engines/sql/unit/predicates/binary_spec.rb",
201
+ "spec/arel/engines/sql/unit/predicates/equality_spec.rb",
202
+ "spec/arel/engines/sql/unit/predicates/in_spec.rb",
203
+ "spec/arel/engines/sql/unit/predicates/predicates_spec.rb",
204
+ "spec/arel/engines/sql/unit/primitives/attribute_spec.rb",
205
+ "spec/arel/engines/sql/unit/primitives/expression_spec.rb",
206
+ "spec/arel/engines/sql/unit/primitives/literal_spec.rb",
207
+ "spec/arel/engines/sql/unit/primitives/value_spec.rb",
208
+ "spec/arel/engines/sql/unit/relations/alias_spec.rb",
209
+ "spec/arel/engines/sql/unit/relations/delete_spec.rb",
210
+ "spec/arel/engines/sql/unit/relations/from_spec.rb",
211
+ "spec/arel/engines/sql/unit/relations/group_spec.rb",
212
+ "spec/arel/engines/sql/unit/relations/having_spec.rb",
213
+ "spec/arel/engines/sql/unit/relations/insert_spec.rb",
214
+ "spec/arel/engines/sql/unit/relations/join_spec.rb",
215
+ "spec/arel/engines/sql/unit/relations/lock_spec.rb",
216
+ "spec/arel/engines/sql/unit/relations/order_spec.rb",
217
+ "spec/arel/engines/sql/unit/relations/project_spec.rb",
218
+ "spec/arel/engines/sql/unit/relations/skip_spec.rb",
219
+ "spec/arel/engines/sql/unit/relations/table_spec.rb",
220
+ "spec/arel/engines/sql/unit/relations/take_spec.rb",
221
+ "spec/arel/engines/sql/unit/relations/update_spec.rb",
222
+ "spec/arel/engines/sql/unit/relations/where_spec.rb",
223
+ "spec/connections/mysql_connection.rb",
224
+ "spec/connections/postgresql_connection.rb",
225
+ "spec/connections/sqlite3_connection.rb",
226
+ "spec/doubles/hash.rb",
227
+ "spec/matchers/be_like.rb",
228
+ "spec/matchers/disambiguate_attributes.rb",
229
+ "spec/matchers/hash_the_same_as.rb",
230
+ "spec/schemas/mysql_schema.rb",
231
+ "spec/schemas/postgresql_schema.rb",
232
+ "spec/schemas/sqlite3_schema.rb",
233
+ "spec/spec_helper.rb"
222
234
  ]
223
235
 
224
236
  if s.respond_to? :specification_version then
@@ -226,8 +238,11 @@ Gem::Specification.new do |s|
226
238
  s.specification_version = 3
227
239
 
228
240
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
241
+ s.add_runtime_dependency(%q<activesupport>, [">= 3.0.pre"])
229
242
  else
243
+ s.add_dependency(%q<activesupport>, [">= 3.0.pre"])
230
244
  end
231
245
  else
246
+ s.add_dependency(%q<activesupport>, [">= 3.0.pre"])
232
247
  end
233
248
  end
@@ -82,31 +82,31 @@ module Arel
82
82
 
83
83
  module Predications
84
84
  def eq(other)
85
- Equality.new(self, other)
85
+ Predicates::Equality.new(self, other)
86
86
  end
87
87
 
88
88
  def lt(other)
89
- LessThan.new(self, other)
89
+ Predicates::LessThan.new(self, other)
90
90
  end
91
91
 
92
92
  def lteq(other)
93
- LessThanOrEqualTo.new(self, other)
93
+ Predicates::LessThanOrEqualTo.new(self, other)
94
94
  end
95
95
 
96
96
  def gt(other)
97
- GreaterThan.new(self, other)
97
+ Predicates::GreaterThan.new(self, other)
98
98
  end
99
99
 
100
100
  def gteq(other)
101
- GreaterThanOrEqualTo.new(self, other)
101
+ Predicates::GreaterThanOrEqualTo.new(self, other)
102
102
  end
103
103
 
104
104
  def matches(regexp)
105
- Match.new(self, regexp)
105
+ Predicates::Match.new(self, regexp)
106
106
  end
107
107
 
108
108
  def in(array)
109
- In.new(self, array)
109
+ Predicates::In.new(self, array)
110
110
  end
111
111
  end
112
112
  include Predications
@@ -2,7 +2,7 @@ module Arel
2
2
  module ClassExtensions
3
3
  def attributes(*attrs)
4
4
  @attributes = attrs
5
- attr_reader *attrs
5
+ attr_reader(*attrs)
6
6
  end
7
7
 
8
8
  def deriving(*methods)
@@ -25,7 +25,7 @@ module Arel
25
25
  }
26
26
  class_eval methods[method_name], __FILE__, __LINE__
27
27
  end
28
-
28
+
29
29
  Class.send(:include, self)
30
30
  end
31
31
  end
@@ -5,7 +5,7 @@ module Arel
5
5
  bound.merge(key.bind(relation) => value.bind(relation))
6
6
  end
7
7
  end
8
-
8
+
9
9
  Hash.send(:include, self)
10
10
  end
11
11
  end
@@ -11,7 +11,7 @@ module Arel
11
11
  def let
12
12
  yield(self)
13
13
  end
14
-
14
+
15
15
  Object.send(:include, self)
16
16
  end
17
17
  end
@@ -3,7 +3,7 @@ module Arel
3
3
  def to_attribute(relation)
4
4
  Arel::Attribute.new(relation, self)
5
5
  end
6
-
6
+
7
7
  Symbol.send(:include, self)
8
8
  end
9
9
  end
@@ -0,0 +1,4 @@
1
+ require 'arel/algebra/core_extensions/object'
2
+ require 'arel/algebra/core_extensions/class'
3
+ require 'arel/algebra/core_extensions/symbol'
4
+ require 'arel/algebra/core_extensions/hash'
@@ -15,7 +15,7 @@ module Arel
15
15
  attributes :attribute
16
16
  deriving :initialize, :==
17
17
  end
18
-
18
+
19
19
  class Descending < Ordering
20
20
  attributes :attribute
21
21
  deriving :initialize, :==