arel 2.2.0 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +13 -0
- data/History.txt +9 -1
- data/Manifest.txt +1 -0
- data/lib/arel.rb +1 -1
- data/lib/arel/select_manager.rb +8 -0
- data/lib/arel/update_manager.rb +4 -0
- data/test/test_select_manager.rb +17 -0
- data/test/test_update_manager.rb +16 -0
- metadata +4 -3
data/.travis.yml
ADDED
data/History.txt
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
== 2.2.1 / 2011-09-15
|
2
|
+
|
3
|
+
* Enhancements
|
4
|
+
|
5
|
+
* Added UpdateManager#key to access the key value
|
6
|
+
* Added SelectManager#projections= to override any existing projections
|
7
|
+
* Added SelectManager#source to get the source of the last select core in the AST
|
8
|
+
|
1
9
|
== 2.2.0 / 2011-08-09
|
2
10
|
|
3
11
|
* Bug Fixes
|
@@ -166,7 +174,7 @@
|
|
166
174
|
|
167
175
|
== 2.0.0 / 2010-08-01
|
168
176
|
* Enhancements
|
169
|
-
|
177
|
+
|
170
178
|
* Recreate library using the Visitor pattern.
|
171
179
|
http://en.wikipedia.org/wiki/Visitor_pattern
|
172
180
|
|
data/Manifest.txt
CHANGED
data/lib/arel.rb
CHANGED
data/lib/arel/select_manager.rb
CHANGED
@@ -135,6 +135,10 @@ module Arel
|
|
135
135
|
self
|
136
136
|
end
|
137
137
|
|
138
|
+
def projections= projections
|
139
|
+
@ctx.projections = projections
|
140
|
+
end
|
141
|
+
|
138
142
|
def order *expr
|
139
143
|
# FIXME: We SHOULD NOT be converting these to SqlLiteral automatically
|
140
144
|
@ast.orders.concat expr.map { |x|
|
@@ -220,6 +224,10 @@ module Arel
|
|
220
224
|
@ctx.source.right
|
221
225
|
end
|
222
226
|
|
227
|
+
def source
|
228
|
+
@ctx.source
|
229
|
+
end
|
230
|
+
|
223
231
|
def joins manager
|
224
232
|
if $VERBOSE
|
225
233
|
warn "joins is deprecated and will be removed in 3.0.0"
|
data/lib/arel/update_manager.rb
CHANGED
data/test/test_select_manager.rb
CHANGED
@@ -860,6 +860,15 @@ module Arel
|
|
860
860
|
end
|
861
861
|
end
|
862
862
|
|
863
|
+
describe 'projections=' do
|
864
|
+
it 'overwrites projections' do
|
865
|
+
manager = Arel::SelectManager.new Table.engine
|
866
|
+
manager.project Arel.sql('foo')
|
867
|
+
manager.projections = [Arel.sql('bar')]
|
868
|
+
manager.to_sql.must_be_like %{ SELECT bar }
|
869
|
+
end
|
870
|
+
end
|
871
|
+
|
863
872
|
describe 'take' do
|
864
873
|
it "knows take" do
|
865
874
|
table = Table.new :users
|
@@ -947,5 +956,13 @@ module Arel
|
|
947
956
|
manager.to_sql.must_be_like 'SELECT "users"."id" FROM "users"'
|
948
957
|
end
|
949
958
|
end
|
959
|
+
|
960
|
+
describe 'source' do
|
961
|
+
it 'returns the join source of the select core' do
|
962
|
+
table = Table.new :users
|
963
|
+
manager = Arel::SelectManager.new Table.engine
|
964
|
+
manager.source.must_equal manager.ast.cores.last.source
|
965
|
+
end
|
966
|
+
end
|
950
967
|
end
|
951
968
|
end
|
data/test/test_update_manager.rb
CHANGED
@@ -95,5 +95,21 @@ module Arel
|
|
95
95
|
um.where(table[:id].eq(1)).must_equal um
|
96
96
|
end
|
97
97
|
end
|
98
|
+
|
99
|
+
describe 'key' do
|
100
|
+
before do
|
101
|
+
@table = Table.new :users
|
102
|
+
@um = Arel::UpdateManager.new Table.engine
|
103
|
+
@um.key = @table[:foo]
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'can be set' do
|
107
|
+
@um.ast.key.must_equal @table[:foo]
|
108
|
+
end
|
109
|
+
|
110
|
+
it 'can be accessed' do
|
111
|
+
@um.key.must_equal @table[:foo]
|
112
|
+
end
|
113
|
+
end
|
98
114
|
end
|
99
115
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 2
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 2.2.
|
8
|
+
- 1
|
9
|
+
version: 2.2.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Aaron Patterson
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2011-08-
|
20
|
+
date: 2011-08-15 00:00:00 -07:00
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
@@ -72,6 +72,7 @@ extra_rdoc_files:
|
|
72
72
|
files:
|
73
73
|
- .autotest
|
74
74
|
- .gemtest
|
75
|
+
- .travis.yml
|
75
76
|
- Gemfile
|
76
77
|
- History.txt
|
77
78
|
- MIT-LICENSE.txt
|