activerecord-summarize 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/activerecord/summarize/version.rb +1 -1
- data/lib/activerecord/summarize.rb +5 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86517402b9294b544b4d452e8198a49e23148141bf1614cdedff938970a32213
|
4
|
+
data.tar.gz: d87578a41a70e44cce3efea3114a1e465ecf2428af4f2aa8be86556fff55a655
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd7587584640872da28f5cf78d16f547f6965d9227f665a65658a1ecf5349ad1cb9bb06ddcba57e777acda9d03133f5f83a9bf0095b0e24c853428d98db28ed0
|
7
|
+
data.tar.gz: 42f7a3c1f745f41edb882d681c85ea02c3672739a4edff781b6af0756c99ff0923348b89438969392a2b659ab3bf4613acc9454c5817ef278db0684918de3521
|
data/Gemfile.lock
CHANGED
@@ -127,6 +127,10 @@ module ActiveRecord::Summarize
|
|
127
127
|
# grouped_query = groups.any? ? from_where.group(*groups) : from_where
|
128
128
|
grouped_query = groups.any? ? from_where.group(*1..groups.size) : from_where
|
129
129
|
data = grouped_query.pluck(*groups, *value_selects)
|
130
|
+
# .pluck(:one_column) returns an array of values instead of an array of arrays,
|
131
|
+
# which breaks the aggregation and assignment below in case anyone ever asks
|
132
|
+
# `summarize` for only one thing.
|
133
|
+
data = data.map { |d| [d] } if (groups.size + value_selects.size) == 1
|
130
134
|
|
131
135
|
# Aggregate & assign results
|
132
136
|
group_idx = groups.each_with_index.to_h
|
@@ -136,7 +140,7 @@ module ActiveRecord::Summarize
|
|
136
140
|
case group_columns.size
|
137
141
|
when 0 then [
|
138
142
|
0,
|
139
|
-
->(memo, row) { memo + row[value_column] }
|
143
|
+
->(memo, row) { memo + (row[value_column] || 0) }
|
140
144
|
]
|
141
145
|
when 1 then [
|
142
146
|
Hash.new(0), # Default 0 makes the reducer much cleaner, but we have to clean it up later
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-summarize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joshua Paine
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|