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 +4 -4
- data/.github/workflows/release.yml +1 -1
- data/.github/workflows/test.yml +1 -1
- data/.rubocop.yml +1 -1
- data/Appraisals +6 -0
- data/CHANGELOG.md +6 -0
- data/alarmable.gemspec +2 -2
- data/docker-compose.yml +1 -1
- data/gemfiles/rails_8.1.gemfile +23 -0
- data/lib/alarmable/version.rb +1 -1
- data/lib/alarmable.rb +0 -10
- metadata +10 -9
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: d4c5fb3a2af50ea846e77391b001656aae22d3d42e03e4f69cacfd7b327e849d
         | 
| 4 | 
            +
              data.tar.gz: a4c351bd05b94b86e67be9facf8b70459ff6515ef97b8c82548d78ae1b3e9438
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 48c45a04e459087749066905301acb1b915bf54e0c44d9c4dc6e0625f3392f7cfb35a8659f62ea66d2b30cced45950396a61c51183320e6669e77b7c895b84b5
         | 
| 7 | 
            +
              data.tar.gz: 33971096ba1d0a6df18fb82882e5b0c9cde69fd13fc96c34168795f1053c71fdc6b47508b9ab1814b27b4ab907fa1b6330ccf286a0af90b45c002536460ff2dd
         | 
    
        data/.github/workflows/test.yml
    CHANGED
    
    
    
        data/.rubocop.yml
    CHANGED
    
    
    
        data/Appraisals
    CHANGED
    
    
    
        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', ' | 
| 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', ' | 
| 46 | 
            +
              spec.add_dependency 'mutex_m', '>= 0.3'
         | 
| 47 47 | 
             
              spec.add_dependency 'zeitwerk', '~> 2.6'
         | 
| 48 48 | 
             
            end
         | 
    
        data/docker-compose.yml
    CHANGED
    
    
| @@ -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: "../"
         | 
    
        data/lib/alarmable/version.rb
    CHANGED
    
    
    
        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. | 
| 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. | 
| 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. | 
| 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 | 
| 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 | 
| 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:
         |