redis-objects-periodical 0.6.0 → 0.8.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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/.agents/skills/dependabot-batch-maintenance/SKILL.md +141 -0
  3. data/.github/dependabot.yml +32 -3
  4. data/.github/scripts/dependabot-auto-merge.cjs +182 -0
  5. data/.github/scripts/dependabot-auto-merge.test.cjs +278 -0
  6. data/.github/scripts/dependabot-policy.cjs +132 -0
  7. data/.github/scripts/dependabot-policy.test.cjs +235 -0
  8. data/.github/scripts/timezone-inventory.cjs +48 -0
  9. data/.github/scripts/timezone-inventory.test.cjs +86 -0
  10. data/.github/workflows/checks.yml +124 -0
  11. data/.github/workflows/ci.yml +191 -0
  12. data/.github/workflows/dependabot-auto-merge.yml +61 -0
  13. data/.github/workflows/release.yml +59 -0
  14. data/.github/workflows/rubocop_challenge.yml +71 -0
  15. data/.rspec +1 -0
  16. data/.rubocop.yml +1 -1
  17. data/.rubocop_todo.yml +3 -2
  18. data/AGENTS.md +133 -0
  19. data/CHANGELOG.md +87 -0
  20. data/CONTRIBUTING.md +203 -0
  21. data/Dockerfile +3 -2
  22. data/Gemfile +6 -6
  23. data/Gemfile.lock +71 -66
  24. data/README.md +58 -180
  25. data/docker-compose.yml +1 -3
  26. data/docs/maintaining.md +237 -0
  27. data/docs/usage.md +216 -0
  28. data/docs/verification/2026-10-27-timezone.md +25 -0
  29. data/gemfiles/active_support/Gemfile +5 -0
  30. data/gemfiles/active_support/Gemfile.lock +137 -0
  31. data/lib/redis/base_value_object.rb +27 -0
  32. data/lib/redis/objects/periodical/version.rb +1 -1
  33. data/lib/redis/objects/periodical_counters.rb +1 -1
  34. data/lib/redis/objects/periodical_hashes.rb +1 -1
  35. data/lib/redis/objects/periodical_sets.rb +1 -1
  36. data/lib/redis/objects/periodical_values.rb +44 -0
  37. data/lib/redis/periodical_counter.rb +1 -1
  38. data/lib/redis/periodical_hash_key.rb +1 -1
  39. data/lib/redis/periodical_set.rb +1 -1
  40. data/lib/redis/periodical_value.rb +15 -0
  41. data/lib/redis/recurring_at_intervals/weekly.rb +3 -1
  42. data/lib/redis/recurring_at_intervals.rb +3 -3
  43. data/lib/redis-objects-periodical.rb +3 -0
  44. data/redis-objects-periodical.gemspec +2 -2
  45. metadata +33 -12
  46. data/.circleci/config.yml +0 -212
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-objects-periodical
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ryz310
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-12 00:00:00.000000000 Z
11
+ date: 2026-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis-objects
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '1.0'
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: '0'
26
+ version: '1.0'
27
27
  description: Extends Redis::Objects to switch automatically the save destination within
28
28
  Redis on changing dates.
29
29
  email:
@@ -32,15 +32,28 @@ executables: []
32
32
  extensions: []
33
33
  extra_rdoc_files: []
34
34
  files:
35
- - ".circleci/config.yml"
35
+ - ".agents/skills/dependabot-batch-maintenance/SKILL.md"
36
36
  - ".gem_comet.yml"
37
37
  - ".github/dependabot.yml"
38
+ - ".github/scripts/dependabot-auto-merge.cjs"
39
+ - ".github/scripts/dependabot-auto-merge.test.cjs"
40
+ - ".github/scripts/dependabot-policy.cjs"
41
+ - ".github/scripts/dependabot-policy.test.cjs"
42
+ - ".github/scripts/timezone-inventory.cjs"
43
+ - ".github/scripts/timezone-inventory.test.cjs"
44
+ - ".github/workflows/checks.yml"
45
+ - ".github/workflows/ci.yml"
46
+ - ".github/workflows/dependabot-auto-merge.yml"
47
+ - ".github/workflows/release.yml"
48
+ - ".github/workflows/rubocop_challenge.yml"
38
49
  - ".gitignore"
39
50
  - ".rspec"
40
51
  - ".rubocop.yml"
41
52
  - ".rubocop_todo.yml"
53
+ - AGENTS.md
42
54
  - CHANGELOG.md
43
55
  - CODE_OF_CONDUCT.md
56
+ - CONTRIBUTING.md
44
57
  - Dockerfile
45
58
  - Gemfile
46
59
  - Gemfile.lock
@@ -50,17 +63,25 @@ files:
50
63
  - bin/console
51
64
  - bin/setup
52
65
  - docker-compose.yml
66
+ - docs/maintaining.md
67
+ - docs/usage.md
68
+ - docs/verification/2026-10-27-timezone.md
69
+ - gemfiles/active_support/Gemfile
70
+ - gemfiles/active_support/Gemfile.lock
53
71
  - lib/redis-objects-periodical.rb
54
72
  - lib/redis/base_counter_object.rb
55
73
  - lib/redis/base_hash_key_object.rb
56
74
  - lib/redis/base_set_object.rb
75
+ - lib/redis/base_value_object.rb
57
76
  - lib/redis/objects/periodical/version.rb
58
77
  - lib/redis/objects/periodical_counters.rb
59
78
  - lib/redis/objects/periodical_hashes.rb
60
79
  - lib/redis/objects/periodical_sets.rb
80
+ - lib/redis/objects/periodical_values.rb
61
81
  - lib/redis/periodical_counter.rb
62
82
  - lib/redis/periodical_hash_key.rb
63
83
  - lib/redis/periodical_set.rb
84
+ - lib/redis/periodical_value.rb
64
85
  - lib/redis/recurring_at_intervals.rb
65
86
  - lib/redis/recurring_at_intervals/annual.rb
66
87
  - lib/redis/recurring_at_intervals/daily.rb
@@ -77,7 +98,7 @@ metadata:
77
98
  source_code_uri: https://github.com/ryz310/redis-objects-periodical
78
99
  changelog_uri: https://github.com/ryz310/redis-objects-periodical/blob/master/CHANGELOG.md
79
100
  rubygems_mfa_required: 'true'
80
- post_install_message:
101
+ post_install_message:
81
102
  rdoc_options: []
82
103
  require_paths:
83
104
  - lib
@@ -85,15 +106,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
85
106
  requirements:
86
107
  - - ">="
87
108
  - !ruby/object:Gem::Version
88
- version: 2.7.0
109
+ version: 3.3.0
89
110
  required_rubygems_version: !ruby/object:Gem::Requirement
90
111
  requirements:
91
112
  - - ">="
92
113
  - !ruby/object:Gem::Version
93
114
  version: '0'
94
115
  requirements: []
95
- rubygems_version: 3.4.6
96
- signing_key:
116
+ rubygems_version: 3.5.22
117
+ signing_key:
97
118
  specification_version: 4
98
119
  summary: Extends Redis::Objects as periodical.
99
120
  test_files: []
data/.circleci/config.yml DELETED
@@ -1,212 +0,0 @@
1
- # Ruby CircleCI 2.0 configuration file
2
- #
3
- # Check https://circleci.com/docs/2.0/language-ruby/ for more details
4
- #
5
- version: 2.1
6
-
7
- orbs:
8
- ruby-orbs: sue445/ruby-orbs@1.6.2
9
- code-climate: rvla/code-climate@0.0.2
10
-
11
- references:
12
- - &ruby_version
13
- ruby_version:
14
- type: enum
15
- enum: ["2.7", "3.0", "3.1", "3.2"]
16
- default: "3.2"
17
-
18
- executors:
19
- default:
20
- parameters:
21
- <<: *ruby_version
22
- docker:
23
- - image: cimg/ruby:<< parameters.ruby_version >>
24
- - image: redis:latest
25
- name: redis
26
- working_directory: ~/repo
27
-
28
- commands:
29
- run_rspec:
30
- description: "Run RSpec"
31
- steps:
32
- - run:
33
- name: "Execute RSpec"
34
- command: |
35
- mkdir /tmp/test-results
36
- TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)"
37
- cc-test-reporter before-build
38
- bundle exec rspec --format documentation \
39
- --color \
40
- --format RspecJunitFormatter \
41
- --out /tmp/test-results/rspec.xml \
42
- $TEST_FILES
43
- - code-climate/format-coverage:
44
- input-type: simplecov
45
- prefix: $(readlink -f .)
46
- coverage-file: coverage/coverage.json
47
- output: coverage/codeclimate.$CIRCLE_BUILD_NUM.json
48
- - persist_to_workspace:
49
- root: coverage
50
- paths:
51
- - codeclimate.*.json
52
- - store_test_results:
53
- path: /tmp/test-results
54
- - store_artifacts:
55
- path: /tmp/test-results
56
- destination: test-results
57
- rubocop:
58
- steps:
59
- - run:
60
- name: Run RuboCop
61
- command: bundle exec rubocop
62
- yardoc:
63
- description: "Generate YARDoc"
64
- steps:
65
- - run: bundle exec yardoc -o ./yardoc
66
- - store_artifacts:
67
- path: ./yardoc
68
- destination: yardoc
69
- rake_build:
70
- steps:
71
- - run:
72
- name: Rake Build
73
- command: bundle exec rake build
74
- rubocop_challenge:
75
- steps:
76
- - run:
77
- name: Rubocop Challenge
78
- command: |
79
- gem install rubocop_challenger
80
- rubocop_challenger go --email=ryz310@gmail.com --name=ryz310
81
- release:
82
- description: Release to RubyGems.org
83
- steps:
84
- - run:
85
- name: Create Rubygems Credentials
86
- command: |
87
- mkdir ~/.gem || true
88
- echo -e "---\n:rubygems_api_key: ${RUBYGEMS_API_KEY}" > ~/.gem/credentials
89
- chmod 0600 ~/.gem/credentials
90
- - run:
91
- name: Release Gem
92
- command: |
93
- git push --set-upstream origin ${CIRCLE_BRANCH}
94
- bundle exec rake release --trace
95
- setup:
96
- description: Setup for Job Working
97
- parameters:
98
- <<: *ruby_version
99
- steps:
100
- - checkout
101
- - ruby-orbs/bundle-install:
102
- cache_key_prefix: v1-dependencies-<< parameters.ruby_version >>
103
- test_and_build:
104
- description: Build the RubyGem
105
- steps:
106
- - code-climate/install
107
- - run_rspec
108
- - rake_build
109
-
110
- jobs:
111
- build:
112
- parameters:
113
- <<: *ruby_version
114
- executor:
115
- name: default
116
- ruby_version: << parameters.ruby_version >>
117
- steps:
118
- - setup:
119
- ruby_version: << parameters.ruby_version >>
120
- - test_and_build
121
- upload-coverage:
122
- executor: default
123
- steps:
124
- - attach_workspace:
125
- at: ~/repo
126
- - code-climate/install
127
- - code-climate/sum-coverage:
128
- input: codeclimate.*.json
129
- parts: 4
130
- - code-climate/upload-coverage
131
- rubocop:
132
- parameters:
133
- <<: *ruby_version
134
- executor:
135
- name: default
136
- ruby_version: << parameters.ruby_version >>
137
- steps:
138
- - setup:
139
- ruby_version: << parameters.ruby_version >>
140
- - rubocop
141
- yardoc:
142
- executor: default
143
- steps:
144
- - setup
145
- - yardoc
146
- rubocop_challenge:
147
- executor: default
148
- steps:
149
- - checkout
150
- - rubocop_challenge
151
- release:
152
- executor: default
153
- steps:
154
- - setup
155
- - release
156
-
157
- workflows:
158
- version: 2
159
-
160
- commit:
161
- jobs:
162
- - build:
163
- name: build_on_ruby_2.7
164
- ruby_version: "2.7"
165
- - build:
166
- name: build_on_ruby_3.0
167
- ruby_version: "3.0"
168
- - build:
169
- name: build_on_ruby_3.1
170
- ruby_version: "3.1"
171
- - build:
172
- name: build_on_ruby_3.2
173
- ruby_version: "3.2"
174
- - rubocop:
175
- ruby_version: "2.7"
176
- - yardoc
177
- - upload-coverage:
178
- requires:
179
- - build_on_ruby_2.7
180
- - build_on_ruby_3.0
181
- - build_on_ruby_3.1
182
- - build_on_ruby_3.2
183
- - release:
184
- context: RubyGems API Key
185
- requires:
186
- - build_on_ruby_2.7
187
- - build_on_ruby_3.0
188
- - build_on_ruby_3.1
189
- - build_on_ruby_3.2
190
- - rubocop
191
- filters:
192
- branches:
193
- only:
194
- - release
195
-
196
- challenge:
197
- triggers:
198
- - schedule:
199
- cron: "30 23 * * *" # 8:30am every day (JST)
200
- filters:
201
- branches:
202
- only:
203
- - master
204
- jobs:
205
- - rubocop_challenge
206
-
207
- experimental:
208
- notify:
209
- branches:
210
- only:
211
- - master
212
- - release