arel_extensions 2.0.16 → 2.0.17

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: d8c6d289ba78d7e49faf19e2cadd6b5a1fcf2bb93b091301c5a9acfb8504eceb
4
- data.tar.gz: b3d0fb5c72905e2ec3b4a73b6ee52212c6adf4fcbb5058e610e9696e2a5d7ad5
3
+ metadata.gz: 48eb9493e32b9bb48577dcf68c740ee6158a820262c0b65f6a4aa0cd7a0173f1
4
+ data.tar.gz: d519a1a091554ed7685a40ec2aa59d0662cd287047aab28d9471651d5d0c3ef0
5
5
  SHA512:
6
- metadata.gz: 1f9d7e3cf6617d2b51db82177478e29e0694291838318e275ba6f7dad44fb7ce9f3fa5d3fecbe87c7d26c3c1b003e2b5543d220a22578dab7251f902e8deaed9
7
- data.tar.gz: eeaab7ea5e5f9a12268b750aa9c50dcb6d16d3706f08ed229ef4118ef8f225424f42b602d0539e2bc2797e2e2307883c1017f3ec83e971104a5d1fa0c443c39f
6
+ metadata.gz: a96114271d98ebabcdf5b8eea621eaa2ec009bc44677043b8e785a728730c8cfd6b33809b4afa13adf795c7912fe5535760b621f35909cd4710bae57e0d1c22c
7
+ data.tar.gz: 03febb4e85ef9d0169e9e23b661f9e20d93ade2b57b2a22bec2821b292e654b161a4108ae2ee49d5d8043cc626778c31851d16533467f16a3ae8bae5e953c7ee
@@ -128,7 +128,11 @@ class Arel::Nodes::Function
128
128
 
129
129
  alias_method(:old_as, :as) rescue nil
130
130
  def as other
131
- Arel::Nodes::As.new(self, Arel.sql(other))
131
+ res = Arel::Nodes::As.new(self.clone, Arel.sql(other))
132
+ if Gem::Version.new(Arel::VERSION) >= Gem::Version.new("9.0.0")
133
+ self.alias = Arel.sql(other)
134
+ end
135
+ res
132
136
  end
133
137
  end
134
138
 
@@ -21,7 +21,11 @@ module ArelExtensions
21
21
  end
22
22
 
23
23
  def as other
24
- Arel::Nodes::As.new(self, Arel.sql(other))
24
+ res = Arel::Nodes::As.new(self.clone, Arel.sql(other))
25
+ if Gem::Version.new(Arel::VERSION) >= Gem::Version.new("9.0.0")
26
+ self.alias = Arel.sql(other)
27
+ end
28
+ res
25
29
  end
26
30
 
27
31
  def expr
@@ -1,3 +1,3 @@
1
1
  module ArelExtensions
2
- VERSION = "2.0.16".freeze
2
+ VERSION = "2.0.17".freeze
3
3
  end
@@ -348,6 +348,9 @@ module ArelExtensions
348
348
  # override
349
349
  remove_method(:visit_Arel_Nodes_As) rescue nil # if Arel::Visitors::ToSql.method_defined?(:visit_Arel_Nodes_As)
350
350
  def visit_Arel_Nodes_As o, collector
351
+ if o.left.respond_to?(:alias)
352
+ o.left.alias = nil
353
+ end
351
354
  if o.left.is_a?(Arel::Nodes::Binary)
352
355
  collector << '('
353
356
  collector = visit o.left, collector
@@ -162,6 +162,12 @@ module ArelExtensions
162
162
  end
163
163
  end
164
164
 
165
+ def test_aggregation_with_ar_calculation
166
+ # Since Arel10 (Rails6.1), some unwanted behaviors on aggregated calculation were present.
167
+ # This should works no matter which version of rails is used
168
+ assert User.group(:score).average(:id).values.all?{|e| !e.nil?}
169
+ end
170
+
165
171
  # String Functions
166
172
  def test_concat
167
173
  assert_equal 'Camille Camille', t(@camille, @name + ' ' + @name)
@@ -1,3 +1,3 @@
1
1
  module ArelExtensions
2
- VERSION = "1.2.19".freeze
2
+ VERSION = "1.2.20".freeze
3
3
  end
@@ -1,3 +1,3 @@
1
1
  module ArelExtensions
2
- VERSION = "2.0.16".freeze
2
+ VERSION = "2.0.17".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arel_extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.16
4
+ version: 2.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yann Azoury
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-01-07 00:00:00.000000000 Z
13
+ date: 2021-01-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord