arel_extensions 2.0.16 → 2.0.17

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.
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