from_clause_translate 0.1.9 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dec03bf1ffebcc53cdcd25cae40ae52f8671813821d8c0cd78424506f72e9452
|
4
|
+
data.tar.gz: 5062c3aa55d691f3070d0f15a8bea5c730b769e03c12db65cd011bf7ae70ba7e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2daa5fecb8a07c5ac4c2ada8199b490a8e5e4519c3cc1b5d8e88b62df6126edb69c7d918d60cd705ecabea49dedd1829e80a1e4441d53cd26319dee409c12d59
|
7
|
+
data.tar.gz: 86f3d4e1f41f6ac155aa8c81b3e14f48b885051c78c18d44d868b22eb79d1c88327490110424509f0bfaf4b122fac859c891e4b1ce0bd3170cb370d526230afe
|
@@ -19,20 +19,22 @@ module ActiveRecord::Relation::Extended
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def arel aliases = nil
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
end
|
28
|
-
arel
|
22
|
+
return super aliases unless @translated_extra_columns
|
23
|
+
add_translated_columns @translated_extra_columns
|
24
|
+
@translated_extra_columns = nil
|
25
|
+
joins = @values.delete :joins
|
26
|
+
apply_translates super(aliases), joins
|
29
27
|
end
|
30
28
|
|
31
29
|
def add_translated_columns columns
|
32
30
|
(@values[:translated] ||= []).concat columns
|
33
31
|
end
|
34
32
|
|
35
|
-
|
33
|
+
UNSCOPING_VALUES =
|
34
|
+
ActiveRecord::QueryMethods::VALID_UNSCOPING_VALUES.dup.delete(:joins)
|
35
|
+
|
36
|
+
def apply_translates arel = nil, joins = nil
|
37
|
+
joins ||= @values.delete :joins
|
36
38
|
arel ||= self.arel
|
37
39
|
return if @translates_applied || !@klass.const_defined?(:TRANSLATED)
|
38
40
|
|
@@ -40,7 +42,9 @@ module ActiveRecord::Relation::Extended
|
|
40
42
|
columns = translated_columns_get
|
41
43
|
return unless columns
|
42
44
|
|
43
|
-
|
45
|
+
rel = unscope(*UNSCOPING_VALUES).select(columns)
|
46
|
+
rel.instance_variable_get(:@values)[:joins] = joins if joins
|
47
|
+
from = rel.arel.to_sql
|
44
48
|
as = @klass.table_name
|
45
49
|
arel.from("(#{from}) #{as}")
|
46
50
|
end
|