ar_virtual_field 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ar_virtual_field/version.rb +1 -1
- data/lib/ar_virtual_field.rb +3 -9
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4bc36de74baf180585250fba41a3455b659c685f46b9f76df2473002a03e72eb
|
4
|
+
data.tar.gz: 04fda5b2429c32f18cee4b162395e901be8c33932d6dab2ab477770c9841013b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9c275c2f918cd913e20b8d4b2b4fdddf4c07af3dab633498b17c2062ea26c0daafa320b5a0f5927bed140c5db9fed2f0a7c19b1ffa5ef61f61bf557416b6723
|
7
|
+
data.tar.gz: 595e261467947fbd77ec055dcb80300ce61de28107928083731c66f02e34eb93f31395114d8d8686cd3f31b031ba316dca0e042bcf1d283224dde3040687d110
|
data/lib/ar_virtual_field.rb
CHANGED
@@ -31,15 +31,9 @@ module ArVirtualField
|
|
31
31
|
scope(scope_name, scope)
|
32
32
|
|
33
33
|
scope(:"with_#{name}", -> do
|
34
|
-
scope_query = current_class.send(scope_name)
|
35
|
-
|
36
|
-
|
37
|
-
scope_query = scope_query.reselect(select_lambda.().as(name), "#{table_name}.id")
|
38
|
-
new_scope = joins("LEFT JOIN (#{scope_query.to_sql}) #{name}_outer ON #{name}_outer.id = #{table_name}.id")
|
39
|
-
HelperMethods.select_append(new_scope, "#{name}_outer.#{name} AS #{name}")
|
40
|
-
else
|
41
|
-
HelperMethods.select_append(send(scope_name), select_lambda.().as(name))
|
42
|
-
end
|
34
|
+
scope_query = current_class.send(scope_name).select(select_lambda.().as(name), "#{table_name}.id")
|
35
|
+
new_scope = joins("LEFT JOIN (#{scope_query.to_sql}) #{name}_outer ON #{name}_outer.id = #{table_name}.id")
|
36
|
+
HelperMethods.select_append(new_scope, "#{name}_outer.#{name} AS #{name}")
|
43
37
|
end)
|
44
38
|
else
|
45
39
|
scope(:"with_#{name}", -> do
|