redis-objects-daily-counter 0.2.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +23 -20
  3. data/.gem_comet.yml +1 -1
  4. data/.github/dependabot.yml +19 -0
  5. data/.rubocop.yml +5 -4
  6. data/.rubocop_todo.yml +3 -19
  7. data/CHANGELOG.md +106 -9
  8. data/Dockerfile +1 -1
  9. data/Gemfile +3 -3
  10. data/Gemfile.lock +32 -29
  11. data/README.md +125 -25
  12. data/Rakefile +4 -1
  13. data/bin/console +2 -3
  14. data/lib/redis/base_counter_object.rb +11 -38
  15. data/lib/redis/base_hash_key_object.rb +40 -0
  16. data/lib/redis/base_set_object.rb +28 -0
  17. data/lib/redis/objects/{daily-counter → periodical}/version.rb +2 -4
  18. data/lib/redis/objects/periodical_counters.rb +40 -0
  19. data/lib/redis/objects/periodical_hashes.rb +50 -0
  20. data/lib/redis/objects/periodical_sets.rb +50 -0
  21. data/lib/redis/periodical_counter.rb +15 -0
  22. data/lib/redis/periodical_hash_key.rb +15 -0
  23. data/lib/redis/periodical_set.rb +15 -0
  24. data/lib/redis/recurring_at_intervals/annual.rb +18 -0
  25. data/lib/redis/recurring_at_intervals/daily.rb +18 -0
  26. data/lib/redis/recurring_at_intervals/hourly.rb +18 -0
  27. data/lib/redis/recurring_at_intervals/minutely.rb +18 -0
  28. data/lib/redis/recurring_at_intervals/monthly.rb +18 -0
  29. data/lib/redis/recurring_at_intervals/weekly.rb +18 -0
  30. data/lib/redis/recurring_at_intervals.rb +79 -0
  31. data/lib/redis-objects-periodical.rb +36 -0
  32. data/redis-objects-daily-counter.gemspec +5 -4
  33. data/redis-objects-periodical.gemspec +36 -0
  34. metadata +26 -19
  35. data/lib/redis/annual_counter.rb +0 -18
  36. data/lib/redis/daily_counter.rb +0 -18
  37. data/lib/redis/hourly_counter.rb +0 -26
  38. data/lib/redis/minutely_counter.rb +0 -26
  39. data/lib/redis/monthly_counter.rb +0 -18
  40. data/lib/redis/objects/annual_counters.rb +0 -41
  41. data/lib/redis/objects/daily_counters.rb +0 -41
  42. data/lib/redis/objects/hourly_counters.rb +0 -41
  43. data/lib/redis/objects/minutely_counters.rb +0 -41
  44. data/lib/redis/objects/monthly_counters.rb +0 -41
  45. data/lib/redis/objects/weekly_counters.rb +0 -41
  46. data/lib/redis/weekly_counter.rb +0 -18
  47. data/lib/redis-objects-daily-counter.rb +0 -37
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8a1d7cbeced820236792c71dd5f82f33a0bcfbe9ebc897ad8001d70740ca939b
4
- data.tar.gz: 2ca71fab3345471d86ad5ce86866132fae367dfc72bd450b3f8398a40c14015b
3
+ metadata.gz: 760920dc267e96b1d638c4042cc62e72cf60530b2514da0e1a7732d81c4ef364
4
+ data.tar.gz: 4cb2aa6680dc646b7b1020b63f0270eb242c5a4336b85f6a8038467fc7790b21
5
5
  SHA512:
6
- metadata.gz: c8810d8da10897dce9c887421acf923b2f5e4ac944c7267dd5d8df61f226dd70e5bd8da55398ada1bc0dfcb2c67c3190f8e3467ef329c2c9f226d43fac091993
7
- data.tar.gz: 6fff807b98113bfddde1a0957b8e95f371d054f920b32cff9ddf6376f1e3cefbf6f05efaed83d8193e8463eec63a64fa9d9485e43565e2c5d2026218544df0b0
6
+ metadata.gz: d709dfc9e258729aac1b0eb2779a447691d7ebaea6094e572d09d0074e8ce37d6da092baede5e26de64d02792a0e7ed952ba8fc5388b2a6e01411fb7a9a07393
7
+ data.tar.gz: f391c8bb7d9db95bad3561b628d8e668d5b6e99940f28d8473d54ed4d2e7307e20616842b6122c401a342636be1f986ecb425bab1783d70f1529332d8b34b470
data/.circleci/config.yml CHANGED
@@ -12,25 +12,25 @@ references:
12
12
  - &ruby_version
13
13
  ruby_version:
14
14
  type: enum
15
- enum: ['2.6', '2.7', '3.0']
16
- default: '3.0'
15
+ enum: ["2.7", "3.0", "3.1"]
16
+ default: "3.1"
17
17
 
18
18
  executors:
19
19
  default:
20
20
  parameters:
21
21
  <<: *ruby_version
22
22
  docker:
23
- - image: circleci/ruby:<< parameters.ruby_version >>
23
+ - image: cimg/ruby:<< parameters.ruby_version >>
24
24
  - image: redis:latest
25
25
  name: redis
26
26
  working_directory: ~/repo
27
27
 
28
28
  commands:
29
29
  run_rspec:
30
- description: 'Run RSpec'
30
+ description: "Run RSpec"
31
31
  steps:
32
32
  - run:
33
- name: 'Execute RSpec'
33
+ name: "Execute RSpec"
34
34
  command: |
35
35
  mkdir /tmp/test-results
36
36
  TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)"
@@ -60,7 +60,7 @@ commands:
60
60
  name: Run RuboCop
61
61
  command: bundle exec rubocop
62
62
  yardoc:
63
- description: 'Generate YARDoc'
63
+ description: "Generate YARDoc"
64
64
  steps:
65
65
  - run: bundle exec yardoc -o ./yardoc
66
66
  - store_artifacts:
@@ -76,7 +76,7 @@ commands:
76
76
  - run:
77
77
  name: Rubocop Challenge
78
78
  command: |
79
- gem install rubocop_challenger --pre
79
+ gem install rubocop_challenger
80
80
  rubocop_challenger go --email=ryz310@gmail.com --name=ryz310
81
81
  release:
82
82
  description: Release to RubyGems.org
@@ -98,9 +98,6 @@ commands:
98
98
  <<: *ruby_version
99
99
  steps:
100
100
  - checkout
101
- - run:
102
- name: Install Bundler 2.x
103
- command: gem install bundler:2.1.4
104
101
  - ruby-orbs/bundle-install:
105
102
  cache_key_prefix: v1-dependencies-<< parameters.ruby_version >>
106
103
  test_and_build:
@@ -132,9 +129,14 @@ jobs:
132
129
  parts: 3
133
130
  - code-climate/upload-coverage
134
131
  rubocop:
135
- executor: default
132
+ parameters:
133
+ <<: *ruby_version
134
+ executor:
135
+ name: default
136
+ ruby_version: << parameters.ruby_version >>
136
137
  steps:
137
- - setup
138
+ - setup:
139
+ ruby_version: << parameters.ruby_version >>
138
140
  - rubocop
139
141
  yardoc:
140
142
  executor: default
@@ -157,28 +159,29 @@ workflows:
157
159
 
158
160
  commit:
159
161
  jobs:
160
- - build:
161
- name: build_on_ruby_2.6
162
- ruby_version: '2.6'
163
162
  - build:
164
163
  name: build_on_ruby_2.7
165
- ruby_version: '2.7'
164
+ ruby_version: "2.7"
166
165
  - build:
167
166
  name: build_on_ruby_3.0
168
- ruby_version: '3.0'
169
- - rubocop
167
+ ruby_version: "3.0"
168
+ - build:
169
+ name: build_on_ruby_3.1
170
+ ruby_version: "3.1"
171
+ - rubocop:
172
+ ruby_version: "2.7"
170
173
  - yardoc
171
174
  - upload-coverage:
172
175
  requires:
173
- - build_on_ruby_2.6
174
176
  - build_on_ruby_2.7
175
177
  - build_on_ruby_3.0
178
+ - build_on_ruby_3.1
176
179
  - release:
177
180
  context: RubyGems API Key
178
181
  requires:
179
- - build_on_ruby_2.6
180
182
  - build_on_ruby_2.7
181
183
  - build_on_ruby_3.0
184
+ - build_on_ruby_3.1
182
185
  - rubocop
183
186
  filters:
184
187
  branches:
data/.gem_comet.yml CHANGED
@@ -11,7 +11,7 @@ version: 1.2
11
11
  release:
12
12
  base_branch: master
13
13
  release_branch: release
14
- version_file_path: lib/redis/objects/daily-counter/version.rb
14
+ version_file_path: lib/redis/objects/periodical/version.rb
15
15
  changelog_file_path: CHANGELOG.md # optional
16
16
  changelog:
17
17
  categories:
@@ -0,0 +1,19 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ time: "08:00"
8
+ timezone: Japan
9
+ open-pull-requests-limit: 10
10
+ reviewers:
11
+ - ryz310
12
+ assignees:
13
+ - ryz310
14
+ labels:
15
+ - dependabot
16
+ ignore:
17
+ - dependency-name: simplecov
18
+ versions:
19
+ - ">= 0.19.a, < 0.20"
data/.rubocop.yml CHANGED
@@ -5,7 +5,7 @@ require:
5
5
  - rubocop-rspec
6
6
 
7
7
  AllCops:
8
- TargetRubyVersion: 2.6
8
+ TargetRubyVersion: 2.7
9
9
  NewCops: enable
10
10
 
11
11
  Layout/LineLength:
@@ -13,15 +13,16 @@ Layout/LineLength:
13
13
 
14
14
  Metrics/BlockLength:
15
15
  Exclude:
16
- - 'spec/**/*'
17
- - 'redis-objects-daily-counter.gemspec'
16
+ - "spec/**/*"
17
+ - "redis-objects-daily-counter.gemspec"
18
+ - "redis-objects-periodical.gemspec"
18
19
 
19
20
  Metrics/MethodLength:
20
21
  Max: 15
21
22
 
22
23
  Naming/FileName:
23
24
  Exclude:
24
- - 'lib/redis-objects-daily-counter.rb'
25
+ - "lib/redis-objects-periodical.rb"
25
26
 
26
27
  Style/TrailingCommaInArrayLiteral:
27
28
  EnforcedStyleForMultiline: comma
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2021-09-19 14:21:58 UTC using RuboCop version 0.93.1.
3
+ # on 2021-09-23 07:31:02 UTC using RuboCop version 0.93.1.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -11,22 +11,6 @@
11
11
  Metrics/AbcSize:
12
12
  Max: 21
13
13
 
14
- # Offense count: 21
14
+ # Offense count: 41
15
15
  Style/Documentation:
16
- Exclude:
17
- - 'spec/**/*'
18
- - 'test/**/*'
19
- - 'lib/redis-objects-daily-counter.rb'
20
- - 'lib/redis/annual_counter.rb'
21
- - 'lib/redis/base_counter_object.rb'
22
- - 'lib/redis/daily_counter.rb'
23
- - 'lib/redis/hourly_counter.rb'
24
- - 'lib/redis/minutely_counter.rb'
25
- - 'lib/redis/monthly_counter.rb'
26
- - 'lib/redis/objects/annual_counters.rb'
27
- - 'lib/redis/objects/daily_counters.rb'
28
- - 'lib/redis/objects/hourly_counters.rb'
29
- - 'lib/redis/objects/minutely_counters.rb'
30
- - 'lib/redis/objects/monthly_counters.rb'
31
- - 'lib/redis/objects/weekly_counters.rb'
32
- - 'lib/redis/weekly_counter.rb'
16
+ Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,21 +1,118 @@
1
1
  # Change log
2
2
 
3
+ ## v0.4.1 (Jul 27, 2022)
4
+
5
+ ### Misc
6
+
7
+ - [#22](https://github.com/ryz310/redis-object-periodical/pull/22) Rename from redis-object-daily-counter to redis-object-periodical ([@ryz310](https://github.com/ryz310))
8
+
9
+ ## v0.4.0 (Jul 26, 2022)
10
+
11
+ ### Feature
12
+
13
+ - [#17](https://github.com/ryz310/redis-object-periodical/pull/17) Support `Redis::HashKey` as a recurring object ([@ryz310](https://github.com/ryz310))
14
+
15
+ ### Breaking Change
16
+
17
+ - [#18](https://github.com/ryz310/redis-object-periodical/pull/18) Bump up Ruby 3.1 and drop support Ruby 2.6 ([@ryz310](https://github.com/ryz310))
18
+
19
+ ### Dependabot
20
+
21
+ - [#16](https://github.com/ryz310/redis-object-periodical/pull/16) Bump yard from 0.9.26 to 0.9.28 ([@ryz310](https://github.com/ryz310))
22
+ - [#15](https://github.com/ryz310/redis-object-periodical/pull/15) Bump rspec_junit_formatter from 0.4.1 to 0.5.1 ([@ryz310](https://github.com/ryz310))
23
+ - [#13](https://github.com/ryz310/redis-object-periodical/pull/13) Bump rspec from 3.10.0 to 3.11.0 ([@ryz310](https://github.com/ryz310))
24
+ - [#14](https://github.com/ryz310/redis-object-periodical/pull/14) Bump timecop from 0.9.4 to 0.9.5 ([@ryz310](https://github.com/ryz310))
25
+ - [#12](https://github.com/ryz310/redis-object-periodical/pull/12) Bump redis-objects from 1.5.1 to 1.7.0 ([@ryz310](https://github.com/ryz310))
26
+
27
+ ### Misc
28
+
29
+ - [#19](https://github.com/ryz310/redis-object-periodical/pull/19) Reduce similar source codes with meta programming ([@ryz310](https://github.com/ryz310))
30
+
31
+ ## v0.3.0 (Sep 23, 2021)
32
+
33
+ ### Feature
34
+
35
+ - [#7](https://github.com/ryz310/redis-object-periodical/pull/7) Add daily set ([@ryz310](https://github.com/ryz310))
36
+
37
+ > You can use `daily_set` in addition to the standard features of Redis::Objects.
38
+ >
39
+ > ```rb
40
+ > class Homepage
41
+ > include Redis::Objects
42
+ >
43
+ > daily_set :dau, expireat: -> { Time.now + 2_678_400 } # about a month
44
+ >
45
+ > def id
46
+ > 1
47
+ > end
48
+ > end
49
+ >
50
+ > # 2021-04-01
51
+ > homepage.dau << 'user1'
52
+ > homepage.dau << 'user2'
53
+ > homepage.dau << 'user1' # dup ignored
54
+ > puts homepage.dau.members # ['user1', 'user2']
55
+ > puts homepage.dau.length # 2
56
+ > puts homepage.dau.count # alias of #length
57
+ >
58
+ > # 2021-04-02 (next day)
59
+ > puts homepage.dau.members # []
60
+ > homepage.dau.merge('user2', 'user3')
61
+ > puts homepage.dau.members # ['user2', 'user3']
62
+ >
63
+ > # 2021-04-03 (next day)
64
+ > homepage.dau.merge('user4')
65
+ >
66
+ > homepage.dau[Date.new(2021, 4, 1)] # => ['user1', 'user2']
67
+ > homepage.dau[Date.new(2021, 4, 1), 3] # => ['user1', 'user2', 'user3', 'user4']
68
+ > homepage.dau[Date.new(2021, 4, 1)..Date.new(2021, 4, 2)] # => ['user1', 'user2', 'user3']
69
+ >
70
+ > homepage.dau.delete_at(Date.new(2021, 4, 1))
71
+ > homepage.dau.range(Date.new(2021, 4, 1), Date.new(2021, 4, 3)) # => ['user2', 'user3', 'user4']
72
+ > homepage.dau.at(Date.new(2021, 4, 2)) # => #<Redis::Set key="homepage:1:dau:2021-04-02">
73
+ > homepage.dau.at(Date.new(2021, 4, 2)).members # ['user2', 'user3']
74
+ > ```
75
+
76
+ ### Breaking Change
77
+
78
+ - [#7](https://github.com/ryz310/redis-object-periodical/pull/7) Add daily set ([@ryz310](https://github.com/ryz310))
79
+
80
+ > Rename the method from #delete to #delete_at a73251f
81
+ >
82
+ > ```rb
83
+ > # Before
84
+ > homepage.pv.delete(Date.new(2021, 4, 1))
85
+ >
86
+ > # After
87
+ > homepage.pv.delete_at(Date.new(2021, 4, 1))
88
+ > ```
89
+ >
90
+ > Modify returning value of RecurringAtIntervals#at 1c8cc79
91
+ >
92
+ > ```rb
93
+ > # Before
94
+ > homepage.pv.at(Date.new(2021, 4, 2)) # => 2
95
+ >
96
+ > # After
97
+ > homepage.pv.at(Date.new(2021, 4, 2)) # => #<Redis::Counter key="homepage:1:pv:2021-04-02">
98
+ > ```
99
+
3
100
  ## v0.2.0 (Sep 20, 2021)
4
101
 
5
102
  ### Feature
6
103
 
7
- * [#3](https://github.com/ryz310/redis-objects-daily-counter/pull/3) Support time zone ([@ryz310](https://github.com/ryz310))
8
- * [#4](https://github.com/ryz310/redis-objects-daily-counter/pull/4) Add daily counter family ([@ryz310](https://github.com/ryz310))
9
- * `annual_counter`
10
- * `monthly_counter`
11
- * `weekly_counter`
12
- * `hourly_counter`
13
- * `minutely_counter`
104
+ - [#3](https://github.com/ryz310/redis-objects-periodical/pull/3) Support time zone ([@ryz310](https://github.com/ryz310))
105
+ - [#4](https://github.com/ryz310/redis-objects-periodical/pull/4) Add daily counter family ([@ryz310](https://github.com/ryz310))
106
+ - `annual_counter`
107
+ - `monthly_counter`
108
+ - `weekly_counter`
109
+ - `hourly_counter`
110
+ - `minutely_counter`
14
111
 
15
112
  ### Misc
16
113
 
17
- * [#2](https://github.com/ryz310/redis-objects-daily-counter/pull/2) Install circle ci ([@ryz310](https://github.com/ryz310))
114
+ - [#2](https://github.com/ryz310/redis-objects-periodical/pull/2) Install circle ci ([@ryz310](https://github.com/ryz310))
18
115
 
19
116
  ## v0.1.0 (Sep 12, 2021)
20
117
 
21
- * The first release :tada:
118
+ - The first release :tada:
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM ruby:2.6
1
+ FROM ruby:2.7
2
2
 
3
3
  RUN mkdir /my_app
4
4
  WORKDIR /my_app
data/Gemfile CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- # Specify your gem's dependencies in redis-objects-daily-counter.gemspec
6
- gemspec
5
+ # Specify your gem's dependencies in redis-objects-periodical.gemspec
6
+ gemspec name: 'redis-objects-periodical'
7
7
 
8
8
  gem 'bundler', '>= 2.0'
9
9
  gem 'pry-byebug'
10
10
  gem 'rake', '~> 13.0'
11
- gem 'rspec', '~> 3.0'
11
+ gem 'rspec', '~> 3.11'
12
12
  gem 'rspec_junit_formatter'
13
13
  gem 'rubocop', '~> 0.80'
14
14
  gem 'rubocop-performance'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- redis-objects-daily-counter (0.2.0)
4
+ redis-objects-periodical (0.4.1)
5
5
  redis-objects
6
6
 
7
7
  GEM
@@ -10,11 +10,11 @@ GEM
10
10
  ast (2.4.2)
11
11
  byebug (11.1.3)
12
12
  coderay (1.1.3)
13
- diff-lcs (1.4.4)
13
+ diff-lcs (1.5.0)
14
14
  docile (1.4.0)
15
15
  method_source (1.0.0)
16
- parallel (1.21.0)
17
- parser (3.0.2.0)
16
+ parallel (1.22.1)
17
+ parser (3.1.2.0)
18
18
  ast (~> 2.4.1)
19
19
  pry (0.13.1)
20
20
  coderay (~> 1.1)
@@ -22,27 +22,27 @@ GEM
22
22
  pry-byebug (3.9.0)
23
23
  byebug (~> 11.0)
24
24
  pry (~> 0.13.0)
25
- rainbow (3.0.0)
25
+ rainbow (3.1.1)
26
26
  rake (13.0.6)
27
- redis (4.4.0)
28
- redis-objects (1.5.1)
29
- redis (~> 4.2)
30
- regexp_parser (2.1.1)
27
+ redis (4.7.1)
28
+ redis-objects (1.7.0)
29
+ redis
30
+ regexp_parser (2.5.0)
31
31
  rexml (3.2.5)
32
- rspec (3.10.0)
33
- rspec-core (~> 3.10.0)
34
- rspec-expectations (~> 3.10.0)
35
- rspec-mocks (~> 3.10.0)
36
- rspec-core (3.10.1)
37
- rspec-support (~> 3.10.0)
38
- rspec-expectations (3.10.1)
32
+ rspec (3.11.0)
33
+ rspec-core (~> 3.11.0)
34
+ rspec-expectations (~> 3.11.0)
35
+ rspec-mocks (~> 3.11.0)
36
+ rspec-core (3.11.0)
37
+ rspec-support (~> 3.11.0)
38
+ rspec-expectations (3.11.0)
39
39
  diff-lcs (>= 1.2.0, < 2.0)
40
- rspec-support (~> 3.10.0)
41
- rspec-mocks (3.10.2)
40
+ rspec-support (~> 3.11.0)
41
+ rspec-mocks (3.11.1)
42
42
  diff-lcs (>= 1.2.0, < 2.0)
43
- rspec-support (~> 3.10.0)
44
- rspec-support (3.10.2)
45
- rspec_junit_formatter (0.4.1)
43
+ rspec-support (~> 3.11.0)
44
+ rspec-support (3.11.0)
45
+ rspec_junit_formatter (0.5.1)
46
46
  rspec-core (>= 2, < 4, != 2.12.0)
47
47
  rubocop (0.93.1)
48
48
  parallel (~> 1.10)
@@ -53,8 +53,8 @@ GEM
53
53
  rubocop-ast (>= 0.6.0)
54
54
  ruby-progressbar (~> 1.7)
55
55
  unicode-display_width (>= 1.4.0, < 2.0)
56
- rubocop-ast (1.11.0)
57
- parser (>= 3.0.1.1)
56
+ rubocop-ast (1.19.1)
57
+ parser (>= 3.1.1.0)
58
58
  rubocop-performance (1.10.2)
59
59
  rubocop (>= 0.90.0, < 2.0)
60
60
  rubocop-ast (>= 0.4.0)
@@ -67,22 +67,25 @@ GEM
67
67
  simplecov-html (~> 0.11)
68
68
  simplecov_json_formatter (~> 0.1)
69
69
  simplecov-html (0.12.3)
70
- simplecov_json_formatter (0.1.3)
71
- timecop (0.9.4)
70
+ simplecov_json_formatter (0.1.4)
71
+ timecop (0.9.5)
72
72
  unicode-display_width (1.8.0)
73
- yard (0.9.26)
73
+ webrick (1.7.0)
74
+ yard (0.9.28)
75
+ webrick (~> 1.7.0)
74
76
 
75
77
  PLATFORMS
76
78
  aarch64-linux
77
79
  x86_64-darwin-19
80
+ x86_64-darwin-20
78
81
  x86_64-linux
79
82
 
80
83
  DEPENDENCIES
81
84
  bundler (>= 2.0)
82
85
  pry-byebug
83
86
  rake (~> 13.0)
84
- redis-objects-daily-counter!
85
- rspec (~> 3.0)
87
+ redis-objects-periodical!
88
+ rspec (~> 3.11)
86
89
  rspec_junit_formatter
87
90
  rubocop (~> 0.80)
88
91
  rubocop-performance
@@ -92,4 +95,4 @@ DEPENDENCIES
92
95
  yard
93
96
 
94
97
  BUNDLED WITH
95
- 2.2.27
98
+ 2.3.11