rollups 0.3.2 → 0.4.0
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 +4 -4
- data/CHANGELOG.md +5 -0
- data/LICENSE.txt +1 -1
- data/README.md +1 -7
- data/lib/rollup/aggregator.rb +9 -3
- data/lib/rollup/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b9e1a4c50bc160496a4bcc8f4709615dc7f030aa8ac69a02c2ff9ca7221adf94
|
4
|
+
data.tar.gz: 271271318f3cc86e79b561fbc0e3ac32160a12cb0a72dfa47de71435a3114a3a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 277e0ee40c5f156904547fa3ad92a9faaadeda7c7291426d29b2eb69f5187f80c60a57d83f9a430461a954c02150e3a8f1012a6348dfa8a88d082c5d6c8ffc5a
|
7
|
+
data.tar.gz: 37b7ae3c133829ff04bbd06e04789ee94620b98ab3a1bc2c1f812da2cec44aeb2213631e8665c6d919735c8b856a5f548fc893e89874ec6da557e2710fac9f2a
|
data/CHANGELOG.md
CHANGED
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Works great with [Ahoy](https://github.com/ankane/ahoy) and [Searchjoy](https://github.com/ankane/searchjoy)
|
6
6
|
|
7
|
-
[](https://github.com/ankane/rollup/actions)
|
8
8
|
|
9
9
|
## Installation
|
10
10
|
|
@@ -14,12 +14,6 @@ Add this line to your application’s Gemfile:
|
|
14
14
|
gem "rollups"
|
15
15
|
```
|
16
16
|
|
17
|
-
For Rails < 6, also add:
|
18
|
-
|
19
|
-
```ruby
|
20
|
-
gem "activerecord-import"
|
21
|
-
```
|
22
|
-
|
23
17
|
And run:
|
24
18
|
|
25
19
|
```sh
|
data/lib/rollup/aggregator.rb
CHANGED
@@ -29,7 +29,7 @@ class Rollup
|
|
29
29
|
def validate_column(column)
|
30
30
|
unless column.is_a?(Symbol) || column.is_a?(Arel::Nodes::SqlLiteral)
|
31
31
|
column = column.to_s
|
32
|
-
unless /\A\w+(\.\w+)?\z/i.match(column)
|
32
|
+
unless /\A\w+(\.\w+)?\z/i.match?(column)
|
33
33
|
raise ActiveRecord::UnknownAttributeReference, "Query method called with non-attribute argument(s): #{column.inspect}. Use Arel.sql() for known-safe values."
|
34
34
|
end
|
35
35
|
end
|
@@ -119,9 +119,9 @@ class Rollup
|
|
119
119
|
|
120
120
|
# removing starting and ending quotes
|
121
121
|
# for simplicity, they don't need to be the same
|
122
|
-
value = value[1..-2] if value.match(/\A["'`].+["'`]\z/)
|
122
|
+
value = value[1..-2] if value.match?(/\A["'`].+["'`]\z/)
|
123
123
|
|
124
|
-
unless value.match(/\A\w+\z/)
|
124
|
+
unless value.match?(/\A\w+\z/)
|
125
125
|
raise "Cannot determine dimension name: #{group}. Use the dimension_names option"
|
126
126
|
end
|
127
127
|
|
@@ -191,6 +191,12 @@ class Rollup
|
|
191
191
|
conflict_target << :dimensions if Utils.dimensions_supported?
|
192
192
|
|
193
193
|
options = Utils.mysql? ? {} : {unique_by: conflict_target}
|
194
|
+
if ActiveRecord::VERSION::MAJOR >= 8
|
195
|
+
utc = ActiveSupport::TimeZone["Etc/UTC"]
|
196
|
+
records.each do |v|
|
197
|
+
v[:time] = v[:time].in_time_zone(utc) if v[:time].is_a?(Date)
|
198
|
+
end
|
199
|
+
end
|
194
200
|
Rollup.unscoped.upsert_all(records, **options)
|
195
201
|
end
|
196
202
|
end
|
data/lib/rollup/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rollups
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '7'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: groupdate
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -68,14 +68,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
68
68
|
requirements:
|
69
69
|
- - ">="
|
70
70
|
- !ruby/object:Gem::Version
|
71
|
-
version: '3'
|
71
|
+
version: '3.1'
|
72
72
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - ">="
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: '0'
|
77
77
|
requirements: []
|
78
|
-
rubygems_version: 3.5.
|
78
|
+
rubygems_version: 3.5.16
|
79
79
|
signing_key:
|
80
80
|
specification_version: 4
|
81
81
|
summary: Rollup time-series data in Rails
|