groupdate 4.1.1 → 4.3.0

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: 3bdc7848103a019e737a44e522ae42dcdb521c2ae136d9a52d1bafba795127d4
4
- data.tar.gz: fccb9acee92d478d605ac8022e75173bccd4825ad5118a32d5aaaf3ef34c5349
3
+ metadata.gz: c661470fa1d3e85d4cff490be69845b175f5c095956ae674bda74e25e8713d1e
4
+ data.tar.gz: d2f4a2adb3dec4d73fdfc36302514c7c9c051766bb2703057b4074e3f480223c
5
5
  SHA512:
6
- metadata.gz: 9ad47038f6ec8193721ebc56509c1bda0feff36ecb65a7c08e63859592d55de1387e3e0fb907ac55c16329bf8c275265492ab45b6d7217643203d1c94419d324
7
- data.tar.gz: c53eb19f798e162eef984cf6dc32b8be7b3b9e40008dfed445653fae618ae0d1db65e1420db6896f254f5c48daf49f3e97e163c5ed41958e75ad98c7d77590a0
6
+ metadata.gz: f7e3309e4f687cb88839c23d07f6ad9dce57ee3f8f18c335d695d79fe4c0d7fe4e236d1362071180ba07daf3eb6edd62ace05f4d15e0f4392c2dc48e81139c17
7
+ data.tar.gz: 2b1682b63429bb482b01cb8f50a5bd0ab03a0677b9a806244c7d26054579611b1678f056c713d23278cd5cd3e8616def5c77d0897caccda7c5a6d297e4eaa863
data/CHANGELOG.md CHANGED
@@ -1,25 +1,42 @@
1
- ## 4.1.1
1
+ ## 4.3.0 (2019-12-26)
2
+
3
+ - Fixed error with empty results in Ruby 2.7
4
+ - Fixed deprecation warnings in Ruby 2.7
5
+ - Deprecated positional arguments for time zone and range
6
+
7
+ ## 4.2.0 (2019-10-28)
8
+
9
+ - Added `day_of_year`
10
+ - Dropped support for Rails 4.2
11
+
12
+ ## 4.1.2 (2019-05-26)
13
+
14
+ - Fixed error with empty data and `current: false`
15
+ - Fixed error in time zone check for Rails < 5.2
16
+ - Prevent infinite loop with endless ranges
17
+
18
+ ## 4.1.1 (2018-12-11)
2
19
 
3
20
  - Made column resolution consistent with `group`
4
21
  - Added support for `alias_attribute`
5
22
 
6
- ## 4.1.0
23
+ ## 4.1.0 (2018-11-04)
7
24
 
8
25
  - Many performance improvements
9
26
  - Added check for consistent time zone info
10
27
  - Fixed error message for invalid queries with MySQL and SQLite
11
28
  - Fixed issue with enumerable methods ignoring nils
12
29
 
13
- ## 4.0.2
30
+ ## 4.0.2 (2018-10-15)
14
31
 
15
32
  - Make `current` option work without `last`
16
33
  - Fixed default value for `maximum`, `minimum`, and `average` (periods with no results now return `nil` instead of `0`, pass `default_value: 0` for previous behavior)
17
34
 
18
- ## 4.0.1
35
+ ## 4.0.1 (2018-05-03)
19
36
 
20
37
  - Fixed incorrect range with `last` option near time change
21
38
 
22
- ## 4.0.0
39
+ ## 4.0.0 (2018-02-21)
23
40
 
24
41
  - Custom calculation methods are supported by default - `groupdate_calculation_methods` is no longer needed
25
42
 
@@ -31,37 +48,37 @@ Breaking changes
31
48
  - `week_start` now affects `day_of_week`
32
49
  - Removed support for `reverse_order` (was never supported in Rails 5)
33
50
 
34
- ## 3.2.1
51
+ ## 3.2.1 (2018-02-21)
35
52
 
36
53
  - Added `minute_of_hour`
37
54
  - Added support for `unscoped`
38
55
 
39
- ## 3.2.0
56
+ ## 3.2.0 (2017-01-30)
40
57
 
41
58
  - Added limited support for SQLite
42
59
 
43
- ## 3.1.1
60
+ ## 3.1.1 (2016-10-25)
44
61
 
45
62
  - Fixed `current: false`
46
63
  - Fixed `last` with `group_by_quarter`
47
64
  - Raise `ArgumentError` when `last` option is not supported
48
65
 
49
- ## 3.1.0
66
+ ## 3.1.0 (2016-10-22)
50
67
 
51
68
  - Better support for date columns with `time_zone: false`
52
69
  - Better date range handling for `range` option
53
70
 
54
- ## 3.0.2
71
+ ## 3.0.2 (2016-08-09)
55
72
 
56
73
  - Fixed `group_by_period` with associations
57
74
  - Fixed `week_start` option for enumerables
58
75
 
59
- ## 3.0.1
76
+ ## 3.0.1 (2016-07-13)
60
77
 
61
78
  - Added support for Redshift
62
79
  - Fix for infinite loop in certain cases for Rails 5
63
80
 
64
- ## 3.0.0
81
+ ## 3.0.0 (2016-05-30)
65
82
 
66
83
  Breaking changes
67
84
 
@@ -69,16 +86,16 @@ Breaking changes
69
86
  - Array and hash methods no longer return the entire series by default. Use `series: true` for the previous behavior.
70
87
  - The `series: false` option now returns the correct types and order, and plays nicely with other options.
71
88
 
72
- ## 2.5.3
89
+ ## 2.5.3 (2016-04-28)
73
90
 
74
91
  - All tests green with `mysql` gem
75
92
  - Added support for decimal day start
76
93
 
77
- ## 2.5.2
94
+ ## 2.5.2 (2016-02-16)
78
95
 
79
96
  - Added `dates` option to return dates for day, week, month, quarter, and year
80
97
 
81
- ## 2.5.1
98
+ ## 2.5.1 (2016-02-03)
82
99
 
83
100
  - Added `group_by_quarter`
84
101
  - Added `default_value` option
@@ -86,13 +103,13 @@ Breaking changes
86
103
  - Raise `ArgumentError` if no field specified
87
104
  - Added support for ActiveRecord 5 beta
88
105
 
89
- ## 2.5.0
106
+ ## 2.5.0 (2015-09-29)
90
107
 
91
108
  - Added `group_by_period` method
92
109
  - Added `current` option
93
110
  - Raise `ArgumentError` if no block given to enumerable
94
111
 
95
- ## 2.4.0
112
+ ## 2.4.0 (2014-12-28)
96
113
 
97
114
  - Added localization
98
115
  - Added `carry_forward` option
@@ -100,77 +117,77 @@ Breaking changes
100
117
  - Fixed issue w/ Brasilia Summer Time
101
118
  - Fixed issues w/ ActiveRecord 4.2
102
119
 
103
- ## 2.3.0
120
+ ## 2.3.0 (2014-08-31)
104
121
 
105
122
  - Raise error when ActiveRecord::Base.default_timezone is not `:utc`
106
123
  - Added `day_of_month`
107
124
  - Added `month_of_year`
108
125
  - Do not quote column name
109
126
 
110
- ## 2.2.1
127
+ ## 2.2.1 (2014-06-23)
111
128
 
112
129
  - Fixed ActiveRecord 3 associations
113
130
 
114
- ## 2.2.0
131
+ ## 2.2.0 (2014-06-22)
115
132
 
116
133
  - Added support for arrays and hashes
117
134
 
118
- ## 2.1.1
135
+ ## 2.1.1 (2014-05-17)
119
136
 
120
137
  - Fixed format option with multiple groups
121
138
  - Better error message if time zone support is missing for MySQL
122
139
 
123
- ## 2.1.0
140
+ ## 2.1.0 (2014-03-16)
124
141
 
125
142
  - Added last option
126
143
  - Added format option
127
144
 
128
- ## 2.0.4
145
+ ## 2.0.4 (2014-03-12)
129
146
 
130
147
  - Added multiple groups
131
148
  - Added order
132
149
  - Subsequent methods no longer modify relation
133
150
 
134
- ## 2.0.3
151
+ ## 2.0.3 (2014-03-11)
135
152
 
136
153
  - Implemented respond_to?
137
154
 
138
- ## 2.0.2
155
+ ## 2.0.2 (2014-03-11)
139
156
 
140
157
  - where, joins, and includes no longer need to be before the group_by method
141
158
 
142
- ## 2.0.1
159
+ ## 2.0.1 (2014-03-07)
143
160
 
144
161
  - Use time zone instead of UTC for results
145
162
 
146
- ## 2.0.0
163
+ ## 2.0.0 (2014-03-07)
147
164
 
148
165
  - Returns entire series by default
149
166
  - Added day_start option
150
167
  - Better interface
151
168
 
152
- ## 1.0.5
169
+ ## 1.0.5 (2014-03-06)
153
170
 
154
171
  - Added global time_zone option
155
172
 
156
- ## 1.0.4
173
+ ## 1.0.4 (2013-07-20)
157
174
 
158
175
  - Added global week_start option
159
176
  - Fixed bug with NULL values and series
160
177
 
161
- ## 1.0.3
178
+ ## 1.0.3 (2013-07-05)
162
179
 
163
180
  - Fixed deprecation warning when used with will_paginate
164
181
  - Fixed bug with DateTime series
165
182
 
166
- ## 1.0.2
183
+ ## 1.0.2 (2013-06-10)
167
184
 
168
185
  - Added :start option for custom week start for group_by_week
169
186
 
170
- ## 1.0.1
187
+ ## 1.0.1 (2013-06-03)
171
188
 
172
189
  - Fixed series for Rails < 3.2 and MySQL
173
190
 
174
- ## 1.0.0
191
+ ## 1.0.0 (2013-05-15)
175
192
 
176
193
  - First major release
data/CONTRIBUTING.md CHANGED
@@ -57,7 +57,7 @@ brew services start mysql
57
57
 
58
58
  # create databases
59
59
  createdb groupdate_test
60
- mysql -u root -e "create database groupdate_test"
60
+ mysqladmin create groupdate_test
61
61
  mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
62
62
 
63
63
  # clone the repo and run the tests
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2013-2018 Andrew Kane
1
+ Copyright (c) 2013-2019 Andrew Kane
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -17,7 +17,17 @@ Supports PostgreSQL, MySQL, and Redshift, plus arrays and hashes (and limited su
17
17
 
18
18
  [![Build Status](https://travis-ci.org/ankane/groupdate.svg?branch=master)](https://travis-ci.org/ankane/groupdate)
19
19
 
20
- ## Get Started
20
+ ## Installation
21
+
22
+ Add this line to your application’s Gemfile:
23
+
24
+ ```ruby
25
+ gem 'groupdate'
26
+ ```
27
+
28
+ For MySQL and SQLite, also follow [these instructions](#additional-instructions).
29
+
30
+ ## Getting Started
21
31
 
22
32
  ```ruby
23
33
  User.group_by_day(:created_at).count
@@ -46,9 +56,10 @@ and
46
56
  - hour_of_day
47
57
  - day_of_week (Sunday = 0, Monday = 1, etc)
48
58
  - day_of_month
59
+ - day_of_year
49
60
  - month_of_year
50
61
 
51
- Use it anywhere you can use `group`. Works with `count`, `sum`, `minimum`, `maximum`, and `average`. For `median`, check out [ActiveMedian](https://github.com/ankane/active_median). For other aggregate functions, including multiple together, check out [CalculateAll](https://github.com/codesnik/calculate-all).
62
+ Use it anywhere you can use `group`. Works with `count`, `sum`, `minimum`, `maximum`, and `average`. For `median`, check out [ActiveMedian](https://github.com/ankane/active_median).
52
63
 
53
64
  ### Time Zones
54
65
 
@@ -215,23 +226,23 @@ Supports the same options as above
215
226
  users.group_by_day(time_zone: time_zone) { |u| u.created_at }
216
227
  ```
217
228
 
218
- Count
229
+ Get the entire series with:
219
230
 
220
231
  ```ruby
221
- Hash[ users.group_by_day { |u| u.created_at }.map { |k, v| [k, v.size] } ]
232
+ users.group_by_day(series: true) { |u| u.created_at }
222
233
  ```
223
234
 
224
- ## Installation
225
-
226
- Add this line to your application’s Gemfile:
235
+ Count
227
236
 
228
237
  ```ruby
229
- gem 'groupdate'
238
+ users.group_by_day { |u| u.created_at }.map { |k, v| [k, v.count] }.to_h
230
239
  ```
231
240
 
232
- #### For MySQL
241
+ ## Additional Instructions
233
242
 
234
- [Time zone support](https://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html) must be installed on the server.
243
+ ### For MySQL
244
+
245
+ [Time zone support](https://dev.mysql.com/doc/refman/8.0/en/time-zone-support.html) must be installed on the server.
235
246
 
236
247
  ```sh
237
248
  mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
@@ -247,7 +258,7 @@ SELECT CONVERT_TZ(NOW(), '+00:00', 'Pacific/Honolulu');
247
258
 
248
259
  It should return the time instead of `NULL`.
249
260
 
250
- #### For SQLite
261
+ ### For SQLite
251
262
 
252
263
  Groupdate has limited support for SQLite.
253
264
 
@@ -301,3 +312,5 @@ Everyone is encouraged to help improve this project. Here are a few ways you can
301
312
  - Fix bugs and [submit pull requests](https://github.com/ankane/groupdate/pulls)
302
313
  - Write, clarify, or fix documentation
303
314
  - Suggest or add new features
315
+
316
+ To get started with development and testing, check out the [Contributing Guide](CONTRIBUTING.md).
@@ -1,31 +1,32 @@
1
1
  module Enumerable
2
2
  Groupdate::PERIODS.each do |period|
3
- define_method :"group_by_#{period}" do |*args, &block|
3
+ define_method :"group_by_#{period}" do |*args, **options, &block|
4
4
  if block
5
- Groupdate::Magic::Enumerable.group_by(self, period, args[0] || {}, &block)
5
+ # TODO throw error in Groupdate 5
6
+ warn "[groupdate] positional arguments are deprecated" if args.any?
7
+ Groupdate::Magic::Enumerable.group_by(self, period, (args[0] || {}).merge(options), &block)
6
8
  elsif respond_to?(:scoping)
7
- scoping { @klass.send(:"group_by_#{period}", *args, &block) }
9
+ scoping { @klass.send(:"group_by_#{period}", *args, **options, &block) }
8
10
  else
9
11
  raise ArgumentError, "no block given"
10
12
  end
11
13
  end
12
14
  end
13
15
 
14
- def group_by_period(*args, &block)
16
+ def group_by_period(period, *args, **options, &block)
15
17
  if block || !respond_to?(:scoping)
16
- period = args[0]
17
- options = args[1] || {}
18
-
19
- options = options.dup
18
+ # TODO throw error in Groupdate 5
19
+ warn "[groupdate] positional arguments are deprecated" if args.any?
20
+ options = (args[0] || {}).merge(options)
20
21
  # to_sym is unsafe on user input, so convert to strings
21
22
  permitted_periods = ((options.delete(:permit) || Groupdate::PERIODS).map(&:to_sym) & Groupdate::PERIODS).map(&:to_s)
22
23
  if permitted_periods.include?(period.to_s)
23
- send("group_by_#{period}", options, &block)
24
+ send("group_by_#{period}", **options, &block)
24
25
  else
25
26
  raise ArgumentError, "Unpermitted period"
26
27
  end
27
28
  else
28
- scoping { @klass.send(:group_by_period, *args, &block) }
29
+ scoping { @klass.send(:group_by_period, period, *args, **options, &block) }
29
30
  end
30
31
  end
31
32
  end
@@ -13,6 +13,7 @@ module Groupdate
13
13
 
14
14
  raise Groupdate::Error, "Unrecognized time zone" unless time_zone
15
15
  raise Groupdate::Error, "Unrecognized :week_start option" if period == :week && !week_start
16
+ raise Groupdate::Error, "Cannot use endless range for :range option" if options[:range].is_a?(Range) && !options[:range].end
16
17
  end
17
18
 
18
19
  def time_zone
@@ -86,7 +87,7 @@ module Groupdate
86
87
  case period
87
88
  when :day_of_week
88
89
  lambda { |k| (k.to_i - 1 - week_start) % 7 }
89
- when :hour_of_day, :day_of_month, :month_of_year, :minute_of_hour
90
+ when :hour_of_day, :day_of_month, :day_of_year, :month_of_year, :minute_of_hour
90
91
  lambda { |k| k.to_i }
91
92
  else
92
93
  utc = ActiveSupport::TimeZone["UTC"]
@@ -110,7 +111,8 @@ module Groupdate
110
111
 
111
112
  def time_zone_support?(relation)
112
113
  if relation.connection.adapter_name =~ /mysql/i
113
- sql = relation.send(:sanitize_sql_array, ["SELECT CONVERT_TZ(NOW(), '+00:00', ?)", time_zone.tzinfo.name])
114
+ # need to call klass for Rails < 5.2
115
+ sql = relation.klass.send(:sanitize_sql_array, ["SELECT CONVERT_TZ(NOW(), '+00:00', ?)", time_zone.tzinfo.name])
114
116
  !relation.connection.select_all(sql).first.values.first.nil?
115
117
  else
116
118
  true
@@ -2,6 +2,8 @@ module Groupdate
2
2
  module QueryMethods
3
3
  Groupdate::PERIODS.each do |period|
4
4
  define_method :"group_by_#{period}" do |field, time_zone = nil, range = nil, **options|
5
+ warn "[groupdate] positional arguments for time zone and range are deprecated" if time_zone || range
6
+
5
7
  Groupdate::Magic::Relation.generate_relation(self,
6
8
  period: period,
7
9
  field: field,
@@ -31,6 +31,8 @@ module Groupdate
31
31
  case period
32
32
  when :day_of_week
33
33
  ["DAYOFWEEK(CONVERT_TZ(DATE_SUB(#{column}, INTERVAL #{day_start} second), '+00:00', ?)) - 1", time_zone]
34
+ when :day_of_year
35
+ ["DAYOFYEAR(CONVERT_TZ(DATE_SUB(#{column}, INTERVAL #{day_start} second), '+00:00', ?))", time_zone]
34
36
  when :hour_of_day
35
37
  ["(EXTRACT(HOUR from CONVERT_TZ(#{column}, '+00:00', ?)) + 24 - #{day_start / 3600}) % 24", time_zone]
36
38
  when :minute_of_hour
@@ -66,6 +68,8 @@ module Groupdate
66
68
  case period
67
69
  when :day_of_week
68
70
  ["EXTRACT(DOW from #{column}::timestamptz AT TIME ZONE ? - INTERVAL '#{day_start} second')::integer", time_zone]
71
+ when :day_of_year
72
+ ["EXTRACT(DOY from #{column}::timestamptz AT TIME ZONE ? - INTERVAL '#{day_start} second')::integer", time_zone]
69
73
  when :hour_of_day
70
74
  ["EXTRACT(HOUR from #{column}::timestamptz AT TIME ZONE ? - INTERVAL '#{day_start} second')::integer", time_zone]
71
75
  when :minute_of_hour
@@ -99,6 +103,8 @@ module Groupdate
99
103
  "%d"
100
104
  when :month_of_year
101
105
  "%m"
106
+ when :day_of_year
107
+ "%j"
102
108
  when :second
103
109
  "%Y-%m-%d %H:%M:%S UTC"
104
110
  when :minute
@@ -127,6 +133,8 @@ module Groupdate
127
133
  ["EXTRACT(MINUTE from CONVERT_TIMEZONE(?, #{column}::timestamp) - INTERVAL '#{day_start} second')::integer", time_zone]
128
134
  when :day_of_month
129
135
  ["EXTRACT(DAY from CONVERT_TIMEZONE(?, #{column}::timestamp) - INTERVAL '#{day_start} second')::integer", time_zone]
136
+ when :day_of_year
137
+ ["EXTRACT(DOY from CONVERT_TIMEZONE(?, #{column}::timestamp) - INTERVAL '#{day_start} second')::integer", time_zone]
130
138
  when :month_of_year
131
139
  ["EXTRACT(MONTH from CONVERT_TIMEZONE(?, #{column}::timestamp) - INTERVAL '#{day_start} second')::integer", time_zone]
132
140
  when :week # start on Sunday, not Redshift default Monday
@@ -79,6 +79,8 @@ module Groupdate
79
79
  time.day
80
80
  when :month_of_year
81
81
  time.month
82
+ when :day_of_year
83
+ time.yday
82
84
  else
83
85
  raise Groupdate::Error, "Invalid period"
84
86
  end
@@ -141,6 +143,8 @@ module Groupdate
141
143
  0..59
142
144
  when :day_of_month
143
145
  1..31
146
+ when :day_of_year
147
+ 1..366
144
148
  when :month_of_year
145
149
  1..12
146
150
  else
@@ -158,14 +162,14 @@ module Groupdate
158
162
  end
159
163
 
160
164
  tr = sorted_keys.first..sorted_keys.last
161
- if options[:current] == false && round_time(now) >= tr.last
165
+ if options[:current] == false && sorted_keys.any? && round_time(now) >= tr.last
162
166
  tr = tr.first...round_time(now)
163
167
  end
164
168
  tr
165
169
  end
166
170
 
167
- if time_range.first
168
- series = [round_time(time_range.first)]
171
+ if time_range.begin
172
+ series = [round_time(time_range.begin)]
169
173
 
170
174
  if period == :quarter
171
175
  step = 3.months
@@ -1,3 +1,3 @@
1
1
  module Groupdate
2
- VERSION = "4.1.1"
2
+ VERSION = "4.3.0"
3
3
  end
data/lib/groupdate.rb CHANGED
@@ -8,7 +8,7 @@ require "groupdate/magic"
8
8
  module Groupdate
9
9
  class Error < RuntimeError; end
10
10
 
11
- PERIODS = [:second, :minute, :hour, :day, :week, :month, :quarter, :year, :day_of_week, :hour_of_day, :minute_of_hour, :day_of_month, :month_of_year]
11
+ PERIODS = [:second, :minute, :hour, :day, :week, :month, :quarter, :year, :day_of_week, :hour_of_day, :minute_of_hour, :day_of_month, :day_of_year, :month_of_year]
12
12
  METHODS = PERIODS.map { |v| :"group_by_#{v}" } + [:group_by_period]
13
13
 
14
14
  mattr_accessor :week_start, :day_start, :time_zone, :dates
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: 4.1.1
4
+ version: 4.3.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: 2018-12-11 00:00:00.000000000 Z
11
+ date: 2019-12-27 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: '4.2'
19
+ version: '5'
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: '4.2'
26
+ version: '5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -84,30 +84,30 @@ dependencies:
84
84
  name: pg
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "<"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '1'
89
+ version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "<"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '1'
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: mysql2
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "<"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '0.5'
103
+ version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "<"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '0.5'
110
+ version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: sqlite3
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -153,15 +153,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
153
153
  requirements:
154
154
  - - ">="
155
155
  - !ruby/object:Gem::Version
156
- version: '2.2'
156
+ version: '2.4'
157
157
  required_rubygems_version: !ruby/object:Gem::Requirement
158
158
  requirements:
159
159
  - - ">="
160
160
  - !ruby/object:Gem::Version
161
161
  version: '0'
162
162
  requirements: []
163
- rubyforge_project:
164
- rubygems_version: 2.7.6
163
+ rubygems_version: 3.1.2
165
164
  signing_key:
166
165
  specification_version: 4
167
166
  summary: The simplest way to group temporal data