alarmable 2.0.0 → 2.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 410b45f7e4abd1faea1d95f0e2449512de445627fc3488d0cbe69167fa8a48d8
4
- data.tar.gz: 5e254b9e0e3985423e9dcf2e40f3ba454a9afbb363276a8c796122ce1c488eaa
3
+ metadata.gz: d4c5fb3a2af50ea846e77391b001656aae22d3d42e03e4f69cacfd7b327e849d
4
+ data.tar.gz: a4c351bd05b94b86e67be9facf8b70459ff6515ef97b8c82548d78ae1b3e9438
5
5
  SHA512:
6
- metadata.gz: 8cfaf52562fedd1817f3d82ff2671b10646fa7a9aedbb71fe96a6caf82746c116302a0091df7d34a51eebe31aaf258cd8bddcc00266257d78f8ee219cb0342d8
7
- data.tar.gz: 33982315842bc5d00eefdc5b1d283a764e2a72ee606d3477ceebb8e1f58cbf4278098ae1ecae07443bd7662707977f1b54463cacb03a2109f08112c95f2ff5de
6
+ metadata.gz: 48c45a04e459087749066905301acb1b915bf54e0c44d9c4dc6e0625f3392f7cfb35a8659f62ea66d2b30cced45950396a61c51183320e6669e77b7c895b84b5
7
+ data.tar.gz: 33971096ba1d0a6df18fb82882e5b0c9cde69fd13fc96c34168795f1053c71fdc6b47508b9ab1814b27b4ab907fa1b6330ccf286a0af90b45c002536460ff2dd
@@ -16,7 +16,7 @@ jobs:
16
16
  docs:
17
17
  name: Release the gem
18
18
  runs-on: ubuntu-22.04
19
- timeout-minutes: 5
19
+ timeout-minutes: 10
20
20
  steps:
21
21
  - uses: actions/checkout@v4
22
22
 
@@ -19,7 +19,7 @@ jobs:
19
19
  fail-fast: false
20
20
  matrix:
21
21
  ruby: ['3.2', '3.3', '3.4']
22
- rails: ['7.1', '7.2', '8.0']
22
+ rails: ['7.1', '7.2', '8.0', '8.1']
23
23
  env:
24
24
  BUNDLE_GEMFILE: 'gemfiles/rails_${{ matrix.rails }}.gemfile'
25
25
  steps:
data/.rubocop.yml CHANGED
@@ -13,7 +13,7 @@ AllCops:
13
13
  SuggestExtensions: false
14
14
  DisplayCopNames: true
15
15
  TargetRubyVersion: 3.2
16
- TargetRailsVersion: 6.1
16
+ TargetRailsVersion: 7.1
17
17
  Exclude:
18
18
  - bin/**/*
19
19
  - vendor/**/*
data/Appraisals CHANGED
@@ -17,3 +17,9 @@ appraise 'rails-8.0' do
17
17
  gem 'activerecord', '~> 8.0.0'
18
18
  gem 'activesupport', '~> 8.0.0'
19
19
  end
20
+
21
+ appraise 'rails-8.1' do
22
+ gem 'activejob', '~> 8.1.0'
23
+ gem 'activerecord', '~> 8.1.0'
24
+ gem 'activesupport', '~> 8.1.0'
25
+ end
data/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  * TODO: Replace this bullet point with an actual description of a change.
4
4
 
5
+ ### 2.1.0 (24 October 2025)
6
+
7
+ * Upgraded PostgreSQL to 17.6. ([#23](https://github.com/hausgold/alarmable/pull/23))
8
+ * Dropped Reek. ([#24](https://github.com/hausgold/alarmable/pull/24))
9
+ * Added support for Rails 8.1 ([#25](https://github.com/hausgold/alarmable/pull/25))
10
+
5
11
  ### 2.0.0 (28 June 2025)
6
12
 
7
13
  * Upgraded PostgreSQL to 17.5. ([#20](https://github.com/hausgold/alarmable/pull/20))
data/alarmable.gemspec CHANGED
@@ -40,9 +40,9 @@ Gem::Specification.new do |spec|
40
40
  spec.add_dependency 'activejob-cancel', '~> 0.3'
41
41
  spec.add_dependency 'activerecord', '>= 7.1'
42
42
  spec.add_dependency 'activesupport', '>= 7.1'
43
- spec.add_dependency 'base64', '~> 0.2.0'
43
+ spec.add_dependency 'base64', '>= 0.3'
44
44
  spec.add_dependency 'bigdecimal', '~> 3.1'
45
45
  spec.add_dependency 'hashdiff', '~> 1.0'
46
- spec.add_dependency 'mutex_m', '~> 0.3.0'
46
+ spec.add_dependency 'mutex_m', '>= 0.3'
47
47
  spec.add_dependency 'zeitwerk', '~> 2.6'
48
48
  end
data/docker-compose.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  services:
2
2
  db:
3
- image: hausgold/postgres:17.5
3
+ image: hausgold/postgres:17.6
4
4
  network_mode: bridge
5
5
  ports: ["5432"]
6
6
  volumes:
@@ -0,0 +1,23 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal", "~> 2.4"
6
+ gem "bundler", "~> 2.6"
7
+ gem "countless", "~> 2.0"
8
+ gem "guard-rspec", "~> 4.7"
9
+ gem "pg", "~> 1.4"
10
+ gem "railties", ">= 7.1"
11
+ gem "rake", "~> 13.0"
12
+ gem "rspec", "~> 3.12"
13
+ gem "rubocop"
14
+ gem "rubocop-rails"
15
+ gem "rubocop-rspec"
16
+ gem "simplecov", ">= 0.22"
17
+ gem "yard", ">= 0.9.28"
18
+ gem "yard-activesupport-concern", ">= 0.0.1"
19
+ gem "activejob", "~> 8.1.0"
20
+ gem "activerecord", "~> 8.1.0"
21
+ gem "activesupport", "~> 8.1.0"
22
+
23
+ gemspec path: "../"
@@ -3,7 +3,7 @@
3
3
  # The gem version details.
4
4
  module Alarmable
5
5
  # The version of the +alarmable+ gem
6
- VERSION = '2.0.0'
6
+ VERSION = '2.1.0'
7
7
 
8
8
  class << self
9
9
  # Returns the version of gem as a string.
data/lib/alarmable.rb CHANGED
@@ -66,8 +66,6 @@ module Alarmable
66
66
 
67
67
  class_methods do
68
68
  # Getter/Setter
69
- #
70
- # :reek:Attribute because thats what this thing is about
71
69
  attr_accessor :alarm_job, :alarm_base_date_property
72
70
  end
73
71
 
@@ -107,7 +105,6 @@ module Alarmable
107
105
  # setting.
108
106
  #
109
107
  # rubocop:disable Style/GuardClause -- because its fine like this
110
- # :reek:NilCheck because we validate concern usage
111
108
  def validate_alarm_settings
112
109
  raise 'Alarmable +alarm_job+ is not configured' if alarm_job.nil?
113
110
  unless alarm_job.is_a? Class
@@ -131,8 +128,6 @@ module Alarmable
131
128
  # @param channel [String] The alarm channel
132
129
  # @param before_minutes [Integer] The minutes before the alarm starts
133
130
  # @return [String] The unique alarm id
134
- #
135
- # :reek:UtilityFunction because its a utility, for sure
136
131
  def alarm_id(channel, before_minutes)
137
132
  (Digest::MD5.new << "#{channel}#{before_minutes}").to_s
138
133
  end
@@ -148,9 +143,6 @@ module Alarmable
148
143
  # Example: { "alarm id": "job id" }
149
144
  #
150
145
  # rubocop:disable Metrics/AbcSize -- because its already broken down
151
- # :reek:TooManyStatements because see above
152
- # :reek:NilCheck because we dont want to cancel 'nil' job id
153
- # :reek:DuplicateMethodCall because hash access is fast
154
146
  def reschedule_alarm_job(alarm)
155
147
  # Symbolize the hash keys (just to be sure).
156
148
  alarm = alarm.symbolize_keys
@@ -181,8 +173,6 @@ module Alarmable
181
173
 
182
174
  # Initiate a reschedule for each alarm in the alarm settings and
183
175
  # cancel all left-overs.
184
- #
185
- # :reek:TooManyStatements because its already broken down
186
176
  def reschedule_alarm_jobs
187
177
  # Perform the reschedule of all the current alarms.
188
178
  new_alarm_jobs = alarms.each_with_object({}) do |alarm, memo|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alarmable
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hermann Mayer
@@ -69,16 +69,16 @@ dependencies:
69
69
  name: base64
70
70
  requirement: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - "~>"
72
+ - - ">="
73
73
  - !ruby/object:Gem::Version
74
- version: 0.2.0
74
+ version: '0.3'
75
75
  type: :runtime
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - "~>"
79
+ - - ">="
80
80
  - !ruby/object:Gem::Version
81
- version: 0.2.0
81
+ version: '0.3'
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: bigdecimal
84
84
  requirement: !ruby/object:Gem::Requirement
@@ -111,16 +111,16 @@ dependencies:
111
111
  name: mutex_m
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - "~>"
114
+ - - ">="
115
115
  - !ruby/object:Gem::Version
116
- version: 0.3.0
116
+ version: '0.3'
117
117
  type: :runtime
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - "~>"
121
+ - - ">="
122
122
  - !ruby/object:Gem::Version
123
- version: 0.3.0
123
+ version: '0.3'
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: zeitwerk
126
126
  requirement: !ruby/object:Gem::Requirement
@@ -174,6 +174,7 @@ files:
174
174
  - gemfiles/rails_7.1.gemfile
175
175
  - gemfiles/rails_7.2.gemfile
176
176
  - gemfiles/rails_8.0.gemfile
177
+ - gemfiles/rails_8.1.gemfile
177
178
  - lib/alarmable.rb
178
179
  - lib/alarmable/version.rb
179
180
  licenses: