groupdate 6.3.0 → 6.5.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 +13 -4
- data/LICENSE.txt +1 -1
- data/README.md +1 -13
- data/lib/groupdate/enumerable.rb +2 -2
- data/lib/groupdate/magic.rb +4 -4
- data/lib/groupdate/version.rb +1 -1
- data/lib/groupdate.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: 1ef9a0ee3177e94a0e797036221d6e33b124e41f7f867fe8b0904a24bd7cf741
|
|
4
|
+
data.tar.gz: 73ef98496e157ba77bc8afb226c625dc9f117347b676eb39d767f4d55023309a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b38cacba795f7f0e0430fa1c1935b5e2aa6556926b70533966e912f5a7110291bb2a5f6542c37c6fd7bb996cf973db5241eb7299a8c664e327026fb702cf191a
|
|
7
|
+
data.tar.gz: 393f55d1892c6b65cbe51608aaee4f7e1f2a06067637196a1d6ed82e69434ebb10169553308f21cb8738d06513e19eb505657ccea8d47544da85ca3c77eff02d
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
## 6.5.0 (2024-10-01)
|
|
2
|
+
|
|
3
|
+
- Added support for Active Record 8
|
|
4
|
+
- Dropped support for Ruby < 3.1 and Active Record < 7
|
|
5
|
+
|
|
6
|
+
## 6.4.0 (2023-09-13)
|
|
7
|
+
|
|
8
|
+
- Added support for Trilogy
|
|
9
|
+
|
|
1
10
|
## 6.3.0 (2023-07-02)
|
|
2
11
|
|
|
3
12
|
- Dropped support for Ruby < 3 and Rails < 6.1
|
|
@@ -169,7 +178,7 @@ Breaking changes
|
|
|
169
178
|
- Added `default_value` option
|
|
170
179
|
- Accept symbol for `format` option
|
|
171
180
|
- Raise `ArgumentError` if no field specified
|
|
172
|
-
- Added support for
|
|
181
|
+
- Added support for Active Record 5 beta
|
|
173
182
|
|
|
174
183
|
## 2.5.0 (2015-09-29)
|
|
175
184
|
|
|
@@ -183,18 +192,18 @@ Breaking changes
|
|
|
183
192
|
- Added `carry_forward` option
|
|
184
193
|
- Added `series: false` option for arrays and hashes
|
|
185
194
|
- Fixed issue w/ Brasilia Summer Time
|
|
186
|
-
- Fixed issues w/
|
|
195
|
+
- Fixed issues w/ Active Record 4.2
|
|
187
196
|
|
|
188
197
|
## 2.3.0 (2014-08-31)
|
|
189
198
|
|
|
190
|
-
- Raise error when ActiveRecord::Base.default_timezone is not `:utc`
|
|
199
|
+
- Raise error when `ActiveRecord::Base.default_timezone` is not `:utc`
|
|
191
200
|
- Added `day_of_month`
|
|
192
201
|
- Added `month_of_year`
|
|
193
202
|
- Do not quote column name
|
|
194
203
|
|
|
195
204
|
## 2.2.1 (2014-06-23)
|
|
196
205
|
|
|
197
|
-
- Fixed
|
|
206
|
+
- Fixed Active Record 3 associations
|
|
198
207
|
|
|
199
208
|
## 2.2.0 (2014-06-22)
|
|
200
209
|
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
|
@@ -15,7 +15,7 @@ Supports PostgreSQL, MySQL, and Redshift, plus arrays and hashes (and limited su
|
|
|
15
15
|
|
|
16
16
|
:cupid: Goes hand in hand with [Chartkick](https://www.chartkick.com)
|
|
17
17
|
|
|
18
|
-
[](https://github.com/ankane/groupdate/actions)
|
|
19
19
|
|
|
20
20
|
## Installation
|
|
21
21
|
|
|
@@ -280,18 +280,6 @@ If your application’s time zone is set to something other than `Etc/UTC` (the
|
|
|
280
280
|
Groupdate.time_zone = false
|
|
281
281
|
```
|
|
282
282
|
|
|
283
|
-
## Upgrading
|
|
284
|
-
|
|
285
|
-
### 6.0
|
|
286
|
-
|
|
287
|
-
Groupdate 6.0 protects against unsafe input by default. For non-attribute arguments, use:
|
|
288
|
-
|
|
289
|
-
```ruby
|
|
290
|
-
User.group_by_day(Arel.sql(known_safe_value)).count
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
Also, the `dates` option has been removed.
|
|
294
|
-
|
|
295
283
|
## History
|
|
296
284
|
|
|
297
285
|
View the [changelog](https://github.com/ankane/groupdate/blob/master/CHANGELOG.md)
|
data/lib/groupdate/enumerable.rb
CHANGED
|
@@ -5,7 +5,7 @@ module Enumerable
|
|
|
5
5
|
raise ArgumentError, "wrong number of arguments (given #{args.size}, expected 0)" if args.any?
|
|
6
6
|
Groupdate::Magic::Enumerable.group_by(self, period, options, &block)
|
|
7
7
|
elsif respond_to?(:scoping)
|
|
8
|
-
scoping {
|
|
8
|
+
scoping { klass.group_by_period(period, *args, **options, &block) }
|
|
9
9
|
else
|
|
10
10
|
raise ArgumentError, "no block given"
|
|
11
11
|
end
|
|
@@ -19,7 +19,7 @@ module Enumerable
|
|
|
19
19
|
Groupdate::Magic.validate_period(period, options.delete(:permit))
|
|
20
20
|
send("group_by_#{period}", **options, &block)
|
|
21
21
|
else
|
|
22
|
-
scoping {
|
|
22
|
+
scoping { klass.group_by_period(period, *args, **options, &block) }
|
|
23
23
|
end
|
|
24
24
|
end
|
|
25
25
|
end
|
data/lib/groupdate/magic.rb
CHANGED
|
@@ -180,10 +180,10 @@ module Groupdate
|
|
|
180
180
|
end
|
|
181
181
|
|
|
182
182
|
def time_zone_support?(relation)
|
|
183
|
-
if relation.connection.adapter_name
|
|
183
|
+
if relation.connection.adapter_name.match?(/mysql/i)
|
|
184
184
|
# need to call klass for Rails < 5.2
|
|
185
185
|
sql = relation.klass.send(:sanitize_sql_array, ["SELECT CONVERT_TZ(NOW(), '+00:00', ?)", time_zone.tzinfo.name])
|
|
186
|
-
!relation.connection.select_all(sql).first.values.first.nil?
|
|
186
|
+
!relation.connection.select_all(sql).to_a.first.values.first.nil?
|
|
187
187
|
else
|
|
188
188
|
true
|
|
189
189
|
end
|
|
@@ -238,7 +238,7 @@ module Groupdate
|
|
|
238
238
|
def validate_column(column)
|
|
239
239
|
unless column.is_a?(Symbol) || column.is_a?(Arel::Nodes::SqlLiteral)
|
|
240
240
|
column = column.to_s
|
|
241
|
-
unless /\A\w+(\.\w+)?\z/i.match(column)
|
|
241
|
+
unless /\A\w+(\.\w+)?\z/i.match?(column)
|
|
242
242
|
raise ActiveRecord::UnknownAttributeReference, "Query method called with non-attribute argument(s): #{column.inspect}. Use Arel.sql() for known-safe values."
|
|
243
243
|
end
|
|
244
244
|
end
|
|
@@ -257,7 +257,7 @@ module Groupdate
|
|
|
257
257
|
|
|
258
258
|
# allow any options to keep flexible for future
|
|
259
259
|
def self.process_result(relation, result, **options)
|
|
260
|
-
relation.groupdate_values.
|
|
260
|
+
relation.groupdate_values.reverse_each do |gv|
|
|
261
261
|
result = gv.perform(relation, result, default_value: options[:default_value])
|
|
262
262
|
end
|
|
263
263
|
result
|
data/lib/groupdate/version.rb
CHANGED
data/lib/groupdate.rb
CHANGED
|
@@ -43,7 +43,7 @@ module Groupdate
|
|
|
43
43
|
end
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
-
Groupdate.register_adapter ["Mysql2", "Mysql2Spatial", "Mysql2Rgeo"], Groupdate::Adapters::MySQLAdapter
|
|
46
|
+
Groupdate.register_adapter ["Mysql2", "Mysql2Spatial", "Mysql2Rgeo", "Trilogy"], Groupdate::Adapters::MySQLAdapter
|
|
47
47
|
Groupdate.register_adapter ["PostgreSQL", "PostGIS", "Redshift"], Groupdate::Adapters::PostgreSQLAdapter
|
|
48
48
|
Groupdate.register_adapter "SQLite", Groupdate::Adapters::SQLiteAdapter
|
|
49
49
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: groupdate
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 6.
|
|
4
|
+
version: 6.5.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:
|
|
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
|
description:
|
|
28
28
|
email: andrew@ankane.org
|
|
29
29
|
executables: []
|
|
@@ -58,14 +58,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
58
58
|
requirements:
|
|
59
59
|
- - ">="
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '3'
|
|
61
|
+
version: '3.1'
|
|
62
62
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
63
63
|
requirements:
|
|
64
64
|
- - ">="
|
|
65
65
|
- !ruby/object:Gem::Version
|
|
66
66
|
version: '0'
|
|
67
67
|
requirements: []
|
|
68
|
-
rubygems_version: 3.
|
|
68
|
+
rubygems_version: 3.5.16
|
|
69
69
|
signing_key:
|
|
70
70
|
specification_version: 4
|
|
71
71
|
summary: The simplest way to group temporal data
|