alarmable 0.1.2 → 1.1.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: 8407d8b2abfde673a08a43eed7a8528eeffb18c758a0cd99c9fb1415302b0d04
4
- data.tar.gz: 9932c5802171d9e656033810e1d2634fc0f980b10b0bd7e00f3a00e634c43a10
3
+ metadata.gz: a92750970481aece8a70aa0d7aed9ffb2f14745d524b330559629563739401ef
4
+ data.tar.gz: 6bf3588f912875f7ce1708d3d0ade33c9364e0e65292c60140880482e9b3ba64
5
5
  SHA512:
6
- metadata.gz: e7eb172811653a246837aafb773f2f0b4def40ba520d08c2ff99da38e794e6596f7f86b8e3dce87e1f4e0de887f17cf323a618ebe53c00f50d2309b609964447
7
- data.tar.gz: 5baa3c2fcc45a7c3f9c8b1983145dfbd1c514a3161e415fc81be326d7244dc529dcbbb0ead62274a2680a534ce338bf81b9618f23ab482a6ef5323bbeb879d22
6
+ metadata.gz: 1fdb5e174b57b08d20ad0ed51a89d1f269dd400843186b0f6a8c3acffeeb5deaa683c41cce0cc6ab61048cd3a6cc5171190bcbcb38b2b06571230afecec35914
7
+ data.tar.gz: 2481ff443192e908b1e4dbd54b1866bcf83366526fab873ccf42a7d0e67795c8b2fc47bd3cc01dc760c565c219a20fe79b5fcc338eb4ae740a8d863e44f57e77
@@ -9,16 +9,17 @@ concurrency:
9
9
  jobs:
10
10
  docs:
11
11
  name: Build gem documentation
12
- runs-on: ubuntu-20.04
12
+ runs-on: ubuntu-22.04
13
13
  timeout-minutes: 5
14
14
  steps:
15
- - uses: actions/checkout@v2
15
+ - uses: actions/checkout@v3
16
16
 
17
17
  - name: Install the correct Ruby version
18
18
  uses: ruby/setup-ruby@v1
19
19
  with:
20
20
  ruby-version: 2.5
21
21
  bundler-cache: true
22
+ rubygems: '3.3.26'
22
23
 
23
24
  - name: Prepare the virtual environment
24
25
  uses: hausgold/actions/ci@master
@@ -0,0 +1,47 @@
1
+ name: Release
2
+ run-name: Release ${{ github.event.inputs.VERSION }}
3
+
4
+ on:
5
+ workflow_dispatch:
6
+ inputs:
7
+ VERSION:
8
+ description: The new version to release. (eg. `1.0.0`) Check the
9
+ changelog for the latest version.
10
+
11
+ concurrency:
12
+ group: '${{ github.event.inputs.VERSION }}'
13
+ cancel-in-progress: true
14
+
15
+ jobs:
16
+ docs:
17
+ name: Release the gem
18
+ runs-on: ubuntu-22.04
19
+ timeout-minutes: 5
20
+ steps:
21
+ - uses: actions/checkout@v3
22
+
23
+ - name: Install Ruby 2.5
24
+ uses: ruby/setup-ruby@v1
25
+ with:
26
+ ruby-version: 2.5
27
+ bundler-cache: true
28
+ rubygems: '3.3.26'
29
+
30
+ - name: Prepare the virtual environment
31
+ uses: hausgold/actions/ci@master
32
+ with:
33
+ clone_token: '${{ secrets.CLONE_TOKEN }}'
34
+ settings: '${{ github.repository }}'
35
+ target: ci/gem-test
36
+
37
+ - name: Switch to SSH remotes for the Git repository
38
+ run: git-ssh-remotes
39
+
40
+ - name: Enforce version '${{ github.event.inputs.VERSION }}'
41
+ run: set-gem-version '${{ github.event.inputs.VERSION }}'
42
+
43
+ - name: Prepare the Git release commit
44
+ run: git-release-commit '${{ github.event.inputs.VERSION }}'
45
+
46
+ - name: Push the release Git commit/tag and package to the registry
47
+ run: make release
@@ -13,23 +13,24 @@ concurrency:
13
13
  jobs:
14
14
  test:
15
15
  name: 'Test the gem (Ruby ${{ matrix.ruby }}, Rails ${{ matrix.rails }})'
16
- runs-on: ubuntu-20.04
16
+ runs-on: ubuntu-22.04
17
17
  timeout-minutes: 5
18
18
  strategy:
19
19
  fail-fast: false
20
20
  matrix:
21
- ruby: [2.3, 2.4, 2.5, 2.6]
22
- rails: [4, '5.0', 5.1, 5.2]
21
+ ruby: ['2.5', '2.7']
22
+ rails: ['5.2']
23
23
  env:
24
24
  BUNDLE_GEMFILE: 'gemfiles/rails_${{ matrix.rails }}.gemfile'
25
25
  steps:
26
- - uses: actions/checkout@v2
26
+ - uses: actions/checkout@v3
27
27
 
28
28
  - name: Install the correct Ruby version
29
29
  uses: ruby/setup-ruby@v1
30
30
  with:
31
31
  ruby-version: ${{ matrix.ruby }}
32
32
  bundler-cache: true
33
+ rubygems: '3.3.26'
33
34
 
34
35
  - name: Prepare the virtual environment
35
36
  uses: hausgold/actions/ci@master
@@ -55,7 +56,7 @@ jobs:
55
56
 
56
57
  trigger-docs:
57
58
  name: Trigger the documentation upload
58
- runs-on: ubuntu-20.04
59
+ runs-on: ubuntu-22.04
59
60
  timeout-minutes: 2
60
61
  needs: test
61
62
  if: github.ref == 'refs/heads/master'
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
+ --backtrace
2
+ --force-color
1
3
  --format documentation
2
- --color
data/.rubocop.yml CHANGED
@@ -1,14 +1,19 @@
1
- require: rubocop-rspec
1
+ require:
2
+ - rubocop-rspec
3
+ - rubocop-rails
2
4
 
3
5
  Rails:
4
6
  Enabled: true
5
7
 
6
- Documentation:
8
+ Style/Documentation:
7
9
  Enabled: true
8
10
 
9
11
  AllCops:
12
+ NewCops: enable
13
+ SuggestExtensions: false
10
14
  DisplayCopNames: true
11
15
  TargetRubyVersion: 2.5
16
+ TargetRailsVersion: 5.2
12
17
  Exclude:
13
18
  - bin/**/*
14
19
  - vendor/**/*
@@ -23,6 +28,10 @@ Metrics/BlockLength:
23
28
  - '**/*.rake'
24
29
  - doc/**/*.rb
25
30
 
31
+ # MFA is not yet enabled for our gems yet.
32
+ Gemspec/RequireMFA:
33
+ Enabled: false
34
+
26
35
  # Document all the things.
27
36
  Style/DocumentationMethod:
28
37
  Enabled: true
@@ -39,6 +48,10 @@ Lint/AmbiguousBlockAssociation:
39
48
  RSpec/MessageSpies:
40
49
  EnforcedStyle: receive
41
50
 
51
+ # We stay with the original Ruby Style Guide recommendation.
52
+ Layout/LineLength:
53
+ Max: 80
54
+
42
55
  # Because nesting makes sense here to group the feature tests
43
56
  # more effective. This increases maintainability.
44
57
  RSpec/NestedGroups:
@@ -64,3 +77,7 @@ Rails/ApplicationJob:
64
77
  # so when first evaluated it won't change.
65
78
  RSpec/ExpectChange:
66
79
  Enabled: false
80
+
81
+ # We highly depend on memoized helpers across the specs.
82
+ RSpec/MultipleMemoizedHelpers:
83
+ Enabled: false
data/.simplecov CHANGED
@@ -1,3 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'simplecov-html'
4
+ require 'simplecov_json_formatter'
5
+
6
+ SimpleCov.formatters = SimpleCov::Formatter::MultiFormatter.new(
7
+ [
8
+ SimpleCov::Formatter::HTMLFormatter,
9
+ SimpleCov::Formatter::JSONFormatter
10
+ ]
11
+ )
12
+
1
13
  SimpleCov.start 'test_frameworks' do
2
14
  add_filter '/vendor/bundle/'
3
15
  end
data/Appraisals CHANGED
@@ -1,25 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- appraise 'rails-4' do
4
- gem 'activejob', '4.2.10'
5
- gem 'activerecord', '4.2.10'
6
- gem 'activesupport', '4.2.10'
7
- end
8
-
9
- appraise 'rails-5.0' do
10
- gem 'activejob', '5.0.6'
11
- gem 'activerecord', '5.0.6'
12
- gem 'activesupport', '5.0.6'
13
- end
14
-
15
- appraise 'rails-5.1' do
16
- gem 'activejob', '5.1.4'
17
- gem 'activerecord', '5.1.4'
18
- gem 'activesupport', '5.1.4'
19
- end
20
-
21
3
  appraise 'rails-5.2' do
22
- gem 'activejob', '5.2.0'
23
- gem 'activerecord', '5.2.0'
24
- gem 'activesupport', '5.2.0'
4
+ gem 'activejob', '~> 5.2.0'
5
+ gem 'activerecord', '~> 5.2.0'
6
+ gem 'activesupport', '~> 5.2.0'
25
7
  end
data/CHANGELOG.md CHANGED
@@ -1,3 +1,19 @@
1
+ ### next
2
+
3
+ * TODO: Replace this bullet point with an actual description of a change.
4
+
5
+ ### 1.1.0
6
+
7
+ * Added support for Gem release automation
8
+
9
+ ### 1.0.0
10
+
11
+ * Bundler >= 2.3 is from now on required as minimal version (#4)
12
+ * Dropped support for Ruby < 2.5 (#4)
13
+ * Dropped support for Rails < 5.2 (#4)
14
+ * Updated all development/runtime gems to their latest
15
+ Ruby 2.5 compatible version (#4)
16
+
1
17
  ### 0.1.2
2
18
 
3
19
  * Migrated to Github Actions
data/CODE_OF_CONDUCT.md CHANGED
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
55
55
  ## Enforcement
56
56
 
57
57
  Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at hermann.mayer92@gmail.com. All
58
+ reported by contacting the project team at development@hausgold.de. All
59
59
  complaints will be reviewed and investigated and will result in a response that
60
60
  is deemed necessary and appropriate to the circumstances. The project team is
61
61
  obligated to maintain confidentiality with regard to the reporter of an incident.
data/Dockerfile ADDED
@@ -0,0 +1,28 @@
1
+ FROM hausgold/ruby:2.5
2
+ MAINTAINER Hermann Mayer <hermann.mayer@hausgold.de>
3
+
4
+ # Update system gem
5
+ RUN gem update --system '3.3.26'
6
+
7
+ # Install system packages and the latest bundler
8
+ RUN apt-get update -yqqq && \
9
+ apt-get install -y \
10
+ build-essential locales sudo vim \
11
+ ca-certificates \
12
+ bash-completion inotify-tools && \
13
+ echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && /usr/sbin/locale-gen && \
14
+ gem install bundler -v '~> 2.3.0' --no-document --no-prerelease
15
+
16
+ # Add new web user
17
+ RUN mkdir /app && \
18
+ adduser web --home /home/web --shell /bin/bash \
19
+ --disabled-password --gecos ""
20
+ COPY config/docker/* /home/web/
21
+ RUN chown web:web -R /app /home/web /usr/local/bundle && \
22
+ mkdir -p /home/web/.ssh
23
+
24
+ # Set the root password and grant root access to web
25
+ RUN echo 'root:root' | chpasswd
26
+ RUN echo 'web ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
27
+
28
+ WORKDIR /app
data/Envfile ADDED
@@ -0,0 +1,3 @@
1
+ LANG=en_US.UTF-8
2
+ LANGUAGE=en_US.UTF-8
3
+ LC_ALL=en_US.UTF-8
data/Guardfile ADDED
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ # A sample Guardfile
4
+ # More info at https://github.com/guard/guard#readme
5
+
6
+ ## Uncomment and set this to only include directories you want to watch
7
+ (directories %w[lib spec]).select do |d|
8
+ if Dir.exist?(d)
9
+ d
10
+ else
11
+ UI.warning("Directory #{d} does not exist")
12
+ end
13
+ end
14
+
15
+ ## Note: if you are using the `directories` clause above and you are not
16
+ ## watching the project directory ('.'), then you will want to move
17
+ ## the Guardfile to a watched dir and symlink it back, e.g.
18
+ #
19
+ # $ mkdir config
20
+ # $ mv Guardfile config/
21
+ # $ ln -s config/Guardfile .
22
+ #
23
+ # and, you'll have to watch "config/Guardfile" instead of "Guardfile"
24
+
25
+ # NOTE: The cmd option is now required due to the increasing number of ways
26
+ # rspec may be run, below are examples of the most common uses.
27
+ # * bundler: 'bundle exec rspec'
28
+ # * bundler binstubs: 'bin/rspec'
29
+ # * spring: 'bin/rspec' (This will use spring if running and you have
30
+ # installed the spring binstubs per the docs)
31
+ # * zeus: 'zeus rspec' (requires the server to be started separately)
32
+ # * 'just' rspec: 'rspec'
33
+
34
+ guard :rspec, cmd: 'bundle exec rspec' do
35
+ watch('spec/spec_helper.rb') { 'spec' }
36
+ watch(%r{^lib/alarmable.rb}) { 'spec' }
37
+ watch(%r{^spec/.+_spec\.rb$})
38
+ watch(%r{^lib/alarmable/([^\\]+)\.rb$}) do |m|
39
+ "spec/#{m[1]}_spec.rb"
40
+ end
41
+ watch(%r{^lib/alarmable/([^\\]+)/(.*)\.rb$}) do |m|
42
+ "spec/#{m[1]}/#{m[2]}_spec.rb"
43
+ end
44
+ end
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
- The MIT License (MIT)
1
+ MIT License
2
2
 
3
- Copyright (c) 2017 Hausgold
3
+ Copyright (c) 2023 HAUSGOLD | talocasa GmbH
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -9,13 +9,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
9
  copies of the Software, and to permit persons to whom the Software is
10
10
  furnished to do so, subject to the following conditions:
11
11
 
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
14
 
15
15
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
17
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/Makefile CHANGED
@@ -9,6 +9,7 @@ SHELL := bash
9
9
  # Environment switches
10
10
  MAKE_ENV ?= docker
11
11
  COMPOSE_RUN_SHELL_FLAGS ?= --rm
12
+ BASH_RUN_SHELL_FLAGS ?=
12
13
 
13
14
  # Directories
14
15
  VENDOR_DIR ?= vendor/bundle
@@ -22,9 +23,11 @@ MKDIR ?= mkdir
22
23
  RM ?= rm
23
24
 
24
25
  # Container binaries
25
- BUNDLE ?= bundle
26
26
  APPRAISAL ?= appraisal
27
+ BUNDLE ?= bundle
28
+ GUARD ?= guard
27
29
  RAKE ?= rake
30
+ RSPEC ?= rspec
28
31
  RUBOCOP ?= rubocop
29
32
  YARD ?= yard
30
33
 
@@ -39,8 +42,9 @@ ifeq ($(MAKE_ENV),docker)
39
42
  define run-shell
40
43
  $(COMPOSE) run $(COMPOSE_RUN_SHELL_FLAGS) \
41
44
  -e LANG=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e LC_ALL=en_US.UTF-8 \
42
- -e HOME=/tmp -e BUNDLE_APP_CONFIG=/app/.bundle \
43
- -u `$(ID) -u` test bash -c 'sleep 0.1; echo; $(1)'
45
+ -e HOME=/home/web -e BUNDLE_APP_CONFIG=/app/.bundle \
46
+ -u `$(ID) -u` test \
47
+ bash $(BASH_RUN_SHELL_FLAGS) -c 'sleep 0.1; echo; $(1)'
44
48
  endef
45
49
  else ifeq ($(MAKE_ENV),baremetal)
46
50
  define run-shell
@@ -52,9 +56,13 @@ all:
52
56
  # Alarmable
53
57
  #
54
58
  # install Install the dependencies
55
- # test Run the whole test suite
59
+ # update Update the local Gemset dependencies
56
60
  # clean Clean the dependencies
57
61
  #
62
+ # test Run the whole test suite
63
+ # test-style Test the code styles
64
+ # watch Watch for code changes and rerun the test suite
65
+ #
58
66
  # docs Generate the Ruby documentation of the library
59
67
  # stats Print the code statistics (library and test suite)
60
68
  # notes Print all the notes from the code
@@ -63,12 +71,25 @@ all:
63
71
  # shell Run an interactive shell on the container
64
72
  # shell-irb Run an interactive IRB shell on the container
65
73
 
74
+ .interactive:
75
+ @$(eval BASH_RUN_SHELL_FLAGS = --login)
76
+
66
77
  install:
67
78
  # Install the dependencies
68
79
  @$(MKDIR) -p $(VENDOR_DIR)
69
80
  @$(call run-shell,$(BUNDLE) check || $(BUNDLE) install --path $(VENDOR_DIR))
70
81
  @$(call run-shell,$(BUNDLE) exec $(APPRAISAL) install)
71
82
 
83
+ update:
84
+ # Install the dependencies
85
+ @$(MKDIR) -p $(VENDOR_DIR)
86
+ @$(call run-shell,$(BUNDLE) update)
87
+ @$(call run-shell,$(BUNDLE) exec $(APPRAISAL) update)
88
+
89
+ watch: install .interactive
90
+ # Watch for code changes and rerun the test suite
91
+ @$(call run-shell,$(BUNDLE) exec $(GUARD))
92
+
72
93
  test: \
73
94
  test-specs \
74
95
  test-style
@@ -80,7 +101,7 @@ test-specs:
80
101
  $(TEST_GEMFILES): GEMFILE=$(@:test-%=%)
81
102
  $(TEST_GEMFILES):
82
103
  # Run the whole test suite ($(GEMFILE))
83
- @$(call run-shell,$(BUNDLE) exec $(APPRAISAL) $(GEMFILE) $(RAKE))
104
+ @$(call run-shell,$(BUNDLE) exec $(APPRAISAL) $(GEMFILE) $(RSPEC))
84
105
 
85
106
  test-style: \
86
107
  test-style-ruby
@@ -92,6 +113,10 @@ test-style-ruby:
92
113
  clean:
93
114
  # Clean the dependencies
94
115
  @$(RM) -rf $(VENDOR_DIR)
116
+ @$(RM) -rf $(GEMFILES_DIR)/vendor
117
+ @$(RM) -rf $(GEMFILES_DIR)/*.lock
118
+ @$(RM) -rf .bundle .yardoc coverage pkg Gemfile.lock doc/api \
119
+ .rspec_status
95
120
 
96
121
  clean-containers:
97
122
  # Clean running containers
@@ -99,7 +124,16 @@ ifeq ($(MAKE_ENV),docker)
99
124
  @$(COMPOSE) down
100
125
  endif
101
126
 
102
- distclean: clean clean-containers
127
+ clean-images:
128
+ # Clean build images
129
+
130
+ ifeq ($(MAKE_ENV),docker)
131
+ @-$(DOCKER) images | $(GREP) $(shell basename "`pwd`") \
132
+ | $(AWK) '{ print $$3 }' \
133
+ | $(XARGS) -rn1 $(DOCKER) rmi -f
134
+ endif
135
+
136
+ distclean: clean clean-containers clean-images
103
137
 
104
138
  shell:
105
139
  # Run an interactive shell on the container
data/README.md CHANGED
@@ -19,7 +19,9 @@ list of supported adapters)
19
19
  - [Active Record Model](#active-record-model)
20
20
  - [Active Job](#active-job)
21
21
  - [Development](#development)
22
+ - [Code of Conduct](#code-of-conduct)
22
23
  - [Contributing](#contributing)
24
+ - [Releasing](#releasing)
23
25
 
24
26
  ## Installation
25
27
 
@@ -114,12 +116,24 @@ After checking out the repo, run `make install` to install dependencies. Then,
114
116
  run `make test` to run the tests. You can also run `make shell-irb` for an
115
117
  interactive prompt that will allow you to experiment.
116
118
 
117
- To release a new version, update the version number in `version.rb`, and then
118
- run `make release`, which will create a git tag for the version, push git
119
- commits and tags, and push the `.gem` file to
120
- [rubygems.org](https://rubygems.org).
119
+ ## Code of Conduct
120
+
121
+ Everyone interacting in the project codebase, issue tracker, chat
122
+ rooms and mailing lists is expected to follow the [code of
123
+ conduct](./CODE_OF_CONDUCT.md).
121
124
 
122
125
  ## Contributing
123
126
 
124
127
  Bug reports and pull requests are welcome on GitHub at
125
- https://github.com/hausgold/alarmable.
128
+ https://github.com/hausgold/alarmable. Make sure that every pull request adds
129
+ a bullet point to the [changelog](./CHANGELOG.md) file with a reference to the
130
+ actual pull request.
131
+
132
+ ## Releasing
133
+
134
+ The release process of this Gem is fully automated. You just need to open the
135
+ Github Actions [Release
136
+ Workflow](https://github.com/hausgold/alarmable/actions/workflows/release.yml)
137
+ and trigger a new run via the **Run workflow** button. Insert the new version
138
+ number (check the [changelog](./CHANGELOG.md) first for the latest release) and
139
+ you're done.
data/Rakefile CHANGED
@@ -2,71 +2,18 @@
2
2
 
3
3
  require 'bundler/gem_tasks'
4
4
  require 'rspec/core/rake_task'
5
- require 'rails/code_statistics'
6
- require 'pp'
5
+ require 'countless/rake_tasks'
7
6
 
8
7
  RSpec::Core::RakeTask.new(:spec)
9
8
 
10
9
  task default: :spec
11
10
 
12
- # Load some railties tasks
13
- load 'rails/tasks/statistics.rake'
14
- load 'rails/tasks/annotations.rake'
15
-
16
- # Clear the default statistics directory constant
17
- #
18
- # rubocop:disable Style/MutableConstant because we define it
19
- Object.send(:remove_const, :STATS_DIRECTORIES)
20
- ::STATS_DIRECTORIES = []
21
- # rubocop:enable Style/MutableConstant
22
-
23
- # Monkey patch the Rails +CodeStatistics+ class to support configurable
24
- # patterns per path. This is reuqired to support top-level only file matches.
25
- class CodeStatistics
26
- DEFAULT_PATTERN = /^(?!\.).*?\.(rb|js|coffee|rake)$/.freeze
27
-
28
- # Pass the possible +pattern+ argument down to the
29
- # +calculate_directory_statistics+ method call.
30
- def calculate_statistics
31
- Hash[@pairs.map do |pair|
32
- [pair.first, calculate_directory_statistics(*pair[1..-1])]
33
- end]
34
- end
35
-
36
- # Match the pattern against the individual file name and the relative file
37
- # path. This allows top-level only matches.
38
- def calculate_directory_statistics(directory, pattern = DEFAULT_PATTERN)
39
- stats = CodeStatisticsCalculator.new
40
-
41
- Dir.foreach(directory) do |file_name|
42
- path = "#{directory}/#{file_name}"
43
-
44
- if File.directory?(path) && (/^\./ !~ file_name)
45
- stats.add(calculate_directory_statistics(path, pattern))
46
- elsif file_name =~ pattern || path =~ pattern
47
- stats.add_by_file_path(path)
48
- end
49
- end
50
-
51
- stats
52
- end
53
- end
54
-
55
11
  # Configure all code statistics directories
56
- vendors = [
57
- [:unshift, 'Top-levels', 'lib', %r{lib(/alarmable)?/[^/]+\.rb$}],
58
- [:unshift, 'Top-levels specs', 'spec', %r{spec/[^/]+_spec\.rb$}]
59
- ].reverse
60
-
61
- vendors.each do |method, type, dir, pattern|
62
- ::STATS_DIRECTORIES.send(method, [type, dir, pattern].compact)
63
- ::CodeStatistics::TEST_TYPES << type if type.include? 'specs'
64
- end
65
-
66
- # Setup annotations
67
- ENV['SOURCE_ANNOTATION_DIRECTORIES'] = 'spec,doc'
68
-
69
- desc 'Enumerate all annotations'
70
- task :notes do
71
- SourceAnnotationExtractor.enumerate '@?OPTIMIZE|@?FIXME|@?TODO', tag: true
12
+ Countless.configure do |config|
13
+ config.stats_base_directories = [
14
+ { name: 'Top-levels', dir: 'lib',
15
+ pattern: %r{/lib(/alarmable)?/[^/]+\.rb$} },
16
+ { name: 'Top-levels specs', test: true, dir: 'spec',
17
+ pattern: %r{/spec(/alarmable)?/[^/]+_spec\.rb$} }
18
+ ]
72
19
  end
data/alarmable.gemspec CHANGED
@@ -5,42 +5,55 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require 'alarmable/version'
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = 'alarmable'
9
- spec.version = Alarmable::VERSION
10
- spec.authors = ['Hermann Mayer']
11
- spec.email = ['hermann.mayer@hausgold.de']
8
+ spec.name = 'alarmable'
9
+ spec.version = Alarmable::VERSION
10
+ spec.authors = ['Hermann Mayer']
11
+ spec.email = ['hermann.mayer92@gmail.com']
12
12
 
13
- spec.summary = 'A reusable alarm extension to Active Record models'
14
- spec.description = 'This is a reusable alarm concern for Active Record' \
15
- 'models. It adds support for the automatic maintenance' \
16
- 'of Active Job\'s which are scheduled for the given' \
17
- 'alarms.'
13
+ spec.license = 'MIT'
14
+ spec.summary = 'A reusable alarm extension to Active Record models'
15
+ spec.description = 'This is a reusable alarm concern for Active Record' \
16
+ 'models. It adds support for the automatic maintenance' \
17
+ 'of Active Job\'s which are scheduled for the given' \
18
+ 'alarms.'
18
19
 
19
- spec.homepage = 'https://github.com/hausgold/alarmable'
20
- spec.license = 'MIT'
20
+ base_uri = "https://github.com/hausgold/#{spec.name}"
21
+ spec.metadata = {
22
+ 'homepage_uri' => base_uri,
23
+ 'source_code_uri' => base_uri,
24
+ 'changelog_uri' => "#{base_uri}/blob/master/CHANGELOG.md",
25
+ 'bug_tracker_uri' => "#{base_uri}/issues",
26
+ 'documentation_uri' => "https://www.rubydoc.info/gems/#{spec.name}"
27
+ }
21
28
 
22
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
29
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
23
30
  f.match(%r{^(test|spec|features)/})
24
31
  end
25
- spec.bindir = 'exe'
26
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
32
+
33
+ spec.bindir = 'exe'
34
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
35
  spec.require_paths = ['lib']
28
36
 
29
- spec.add_dependency 'activejob', '>=3', '<6'
37
+ spec.required_ruby_version = '>= 2.5'
38
+
39
+ spec.add_dependency 'activejob', '>= 5.2'
30
40
  spec.add_dependency 'activejob-cancel', '~> 0.3'
31
- spec.add_dependency 'activerecord', '>=3', '<6'
32
- spec.add_dependency 'activesupport', '>=3', '<6'
33
- spec.add_dependency 'hashdiff', '~> 0.3.7'
34
-
35
- spec.add_development_dependency 'appraisal'
36
- spec.add_development_dependency 'bundler', '>= 1.16', '< 3'
37
- spec.add_development_dependency 'pg', '~> 0.18'
38
- spec.add_development_dependency 'railties', '>= 4.2.0', '< 6.1'
39
- spec.add_development_dependency 'rake', '~> 10.0'
40
- spec.add_development_dependency 'rspec', '~> 3.0'
41
- spec.add_development_dependency 'rubocop', '~> 0.63.1'
42
- spec.add_development_dependency 'rubocop-rspec', '~> 1.31'
43
- spec.add_development_dependency 'simplecov', '< 0.18'
44
- spec.add_development_dependency 'yard', '~> 0.9.18'
45
- spec.add_development_dependency 'yard-activesupport-concern', '~> 0.0.1'
41
+ spec.add_dependency 'activerecord', '>= 5.2'
42
+ spec.add_dependency 'activesupport', '>= 5.2'
43
+ spec.add_dependency 'hashdiff', '~> 1.0'
44
+
45
+ spec.add_development_dependency 'appraisal', '~> 2.4'
46
+ spec.add_development_dependency 'bundler', '~> 2.3'
47
+ spec.add_development_dependency 'countless', '~> 1.1'
48
+ spec.add_development_dependency 'guard-rspec', '~> 4.7'
49
+ spec.add_development_dependency 'pg', '~> 1.4'
50
+ spec.add_development_dependency 'railties', '>= 5.2'
51
+ spec.add_development_dependency 'rake', '~> 13.0'
52
+ spec.add_development_dependency 'rspec', '~> 3.12'
53
+ spec.add_development_dependency 'rubocop', '~> 1.28'
54
+ spec.add_development_dependency 'rubocop-rails', '~> 2.14'
55
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.10'
56
+ spec.add_development_dependency 'simplecov', '>= 0.22'
57
+ spec.add_development_dependency 'yard', '>= 0.9.28'
58
+ spec.add_development_dependency 'yard-activesupport-concern', '>= 0.0.1'
46
59
  end
@@ -0,0 +1,3 @@
1
+ if [ -f ~/.bashrc ]; then
2
+ . ~/.bashrc
3
+ fi
@@ -0,0 +1,48 @@
1
+ # ~/.bashrc: executed by bash(1) for non-login shells.
2
+ # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
3
+ # for examples
4
+
5
+ _GEM_PATHS=$(ls -d1 ${HOME}/.gem/ruby/*/bin 2>/dev/null | paste -sd ':')
6
+ _APP_PATHS=$(ls -d1 /app/vendor/bundle/ruby/*/bin 2>/dev/null | paste -sd ':')
7
+
8
+ export PATH="${_GEM_PATHS}:${_APP_PATHS}:${PATH}"
9
+ export PATH="/app/node_modules/.bin:${HOME}/.bin:/app/bin:${PATH}"
10
+ export MAKE_ENV=baremetal
11
+
12
+ # Disable the autostart of all supervisord units
13
+ sudo sed -i 's/autostart=.*/autostart=false/g' /etc/supervisor/conf.d/*
14
+
15
+ # Start the supervisord (empty, no units)
16
+ sudo supervisord >/dev/null 2>&1 &
17
+
18
+ # Wait for supervisord
19
+ while ! supervisorctl status >/dev/null 2>&1; do sleep 1; done
20
+
21
+ # Boot the mDNS stack
22
+ echo '# Start the mDNS stack'
23
+ sudo supervisorctl start dbus avahi
24
+ echo
25
+
26
+ function watch-make-test()
27
+ {
28
+ while [ 1 ]; do
29
+ inotifywait --quiet -r `pwd` -e close_write --format '%e -> %w%f'
30
+ make test
31
+ done
32
+ }
33
+
34
+ function watch-make()
35
+ {
36
+ while [ 1 ]; do
37
+ inotifywait --quiet -r `pwd` -e close_write --format '%e -> %w%f'
38
+ make $@
39
+ done
40
+ }
41
+
42
+ function watch-run()
43
+ {
44
+ while [ 1 ]; do
45
+ inotifywait --quiet -r `pwd` -e close_write --format '%e -> %w%f'
46
+ bash -c "$@"
47
+ done
48
+ }
@@ -0,0 +1,17 @@
1
+ # mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
2
+ "\e[1;5C": forward-word
3
+ "\e[1;5D": backward-word
4
+ "\e[5C": forward-word
5
+ "\e[5D": backward-word
6
+ "\e\e[C": forward-word
7
+ "\e\e[D": backward-word
8
+
9
+ # handle common Home/End escape codes
10
+ "\e[1~": beginning-of-line
11
+ "\e[4~": end-of-line
12
+ "\e[7~": beginning-of-line
13
+ "\e[8~": end-of-line
14
+ "\eOH": beginning-of-line
15
+ "\eOF": end-of-line
16
+ "\e[H": beginning-of-line
17
+ "\e[F": end-of-line
data/docker-compose.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  version: "3"
2
2
  services:
3
3
  db:
4
- image: hausgold/postgres:9.6
4
+ image: hausgold/postgres:14.4
5
5
  network_mode: bridge
6
6
  ports: ["5432"]
7
7
  volumes:
@@ -13,7 +13,8 @@ services:
13
13
  MDNS_HOSTNAME: db.alarmable.local
14
14
 
15
15
  test:
16
- image: ruby:2.3
16
+ build: .
17
+ env_file: Envfile
17
18
  network_mode: bridge
18
19
  working_dir: /app
19
20
  volumes:
@@ -2,8 +2,8 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activejob", "5.2.0"
6
- gem "activerecord", "5.2.0"
7
- gem "activesupport", "5.2.0"
5
+ gem "activejob", "~> 5.2.0"
6
+ gem "activerecord", "~> 5.2.0"
7
+ gem "activesupport", "~> 5.2.0"
8
8
 
9
9
  gemspec path: "../"
@@ -160,7 +160,7 @@ module Alarmable
160
160
  job = alarm_job.set(wait_until: notify_at).perform_later(self.id, alarm)
161
161
 
162
162
  # Construct a new alarm_jobs partial instance for this job
163
- Hash[id, job.job_id]
163
+ { id => job.job_id }
164
164
  end
165
165
  # rubocop:enable Metrics/AbcSize
166
166
 
@@ -177,7 +177,7 @@ module Alarmable
177
177
  # Detect the differences from the original alarm_jobs hash to the new
178
178
  # built (by partials) alarm_jobs hash. The jobs from negative differences
179
179
  # must be canceled.
180
- diff = HashDiff.diff(alarm_jobs, new_alarm_jobs)
180
+ diff = Hashdiff.diff(alarm_jobs, new_alarm_jobs)
181
181
 
182
182
  diff.select { |prop| prop.first == '-' }.each do |prop|
183
183
  alarm_job.cancel(prop.last)
@@ -1,5 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # The gem version details.
3
4
  module Alarmable
4
- VERSION = '0.1.2'
5
+ # The version of the +alarmable+ gem
6
+ VERSION = '1.1.0'
7
+
8
+ class << self
9
+ # Returns the version of gem as a string.
10
+ #
11
+ # @return [String] the gem version as string
12
+ def version
13
+ VERSION
14
+ end
15
+
16
+ # Returns the version of the gem as a +Gem::Version+.
17
+ #
18
+ # @return [Gem::Version] the gem version as object
19
+ def gem_version
20
+ Gem::Version.new VERSION
21
+ end
22
+ end
5
23
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alarmable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hermann Mayer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-15 00:00:00.000000000 Z
11
+ date: 2023-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activejob
@@ -16,20 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '3'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '6'
19
+ version: '5.2'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: '3'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '6'
26
+ version: '5.2'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: activejob-cancel
35
29
  requirement: !ruby/object:Gem::Requirement
@@ -50,230 +44,249 @@ dependencies:
50
44
  requirements:
51
45
  - - ">="
52
46
  - !ruby/object:Gem::Version
53
- version: '3'
54
- - - "<"
55
- - !ruby/object:Gem::Version
56
- version: '6'
47
+ version: '5.2'
57
48
  type: :runtime
58
49
  prerelease: false
59
50
  version_requirements: !ruby/object:Gem::Requirement
60
51
  requirements:
61
52
  - - ">="
62
53
  - !ruby/object:Gem::Version
63
- version: '3'
64
- - - "<"
65
- - !ruby/object:Gem::Version
66
- version: '6'
54
+ version: '5.2'
67
55
  - !ruby/object:Gem::Dependency
68
56
  name: activesupport
69
57
  requirement: !ruby/object:Gem::Requirement
70
58
  requirements:
71
59
  - - ">="
72
60
  - !ruby/object:Gem::Version
73
- version: '3'
74
- - - "<"
75
- - !ruby/object:Gem::Version
76
- version: '6'
61
+ version: '5.2'
77
62
  type: :runtime
78
63
  prerelease: false
79
64
  version_requirements: !ruby/object:Gem::Requirement
80
65
  requirements:
81
66
  - - ">="
82
67
  - !ruby/object:Gem::Version
83
- version: '3'
84
- - - "<"
85
- - !ruby/object:Gem::Version
86
- version: '6'
68
+ version: '5.2'
87
69
  - !ruby/object:Gem::Dependency
88
70
  name: hashdiff
89
71
  requirement: !ruby/object:Gem::Requirement
90
72
  requirements:
91
73
  - - "~>"
92
74
  - !ruby/object:Gem::Version
93
- version: 0.3.7
75
+ version: '1.0'
94
76
  type: :runtime
95
77
  prerelease: false
96
78
  version_requirements: !ruby/object:Gem::Requirement
97
79
  requirements:
98
80
  - - "~>"
99
81
  - !ruby/object:Gem::Version
100
- version: 0.3.7
82
+ version: '1.0'
101
83
  - !ruby/object:Gem::Dependency
102
84
  name: appraisal
103
85
  requirement: !ruby/object:Gem::Requirement
104
86
  requirements:
105
- - - ">="
87
+ - - "~>"
106
88
  - !ruby/object:Gem::Version
107
- version: '0'
89
+ version: '2.4'
108
90
  type: :development
109
91
  prerelease: false
110
92
  version_requirements: !ruby/object:Gem::Requirement
111
93
  requirements:
112
- - - ">="
94
+ - - "~>"
113
95
  - !ruby/object:Gem::Version
114
- version: '0'
96
+ version: '2.4'
115
97
  - !ruby/object:Gem::Dependency
116
98
  name: bundler
117
99
  requirement: !ruby/object:Gem::Requirement
118
100
  requirements:
119
- - - ">="
101
+ - - "~>"
120
102
  - !ruby/object:Gem::Version
121
- version: '1.16'
122
- - - "<"
103
+ version: '2.3'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2.3'
111
+ - !ruby/object:Gem::Dependency
112
+ name: countless
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
123
116
  - !ruby/object:Gem::Version
124
- version: '3'
117
+ version: '1.1'
125
118
  type: :development
126
119
  prerelease: false
127
120
  version_requirements: !ruby/object:Gem::Requirement
128
121
  requirements:
129
- - - ">="
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.1'
125
+ - !ruby/object:Gem::Dependency
126
+ name: guard-rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '1.16'
132
- - - "<"
131
+ version: '4.7'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
133
137
  - !ruby/object:Gem::Version
134
- version: '3'
138
+ version: '4.7'
135
139
  - !ruby/object:Gem::Dependency
136
140
  name: pg
137
141
  requirement: !ruby/object:Gem::Requirement
138
142
  requirements:
139
143
  - - "~>"
140
144
  - !ruby/object:Gem::Version
141
- version: '0.18'
145
+ version: '1.4'
142
146
  type: :development
143
147
  prerelease: false
144
148
  version_requirements: !ruby/object:Gem::Requirement
145
149
  requirements:
146
150
  - - "~>"
147
151
  - !ruby/object:Gem::Version
148
- version: '0.18'
152
+ version: '1.4'
149
153
  - !ruby/object:Gem::Dependency
150
154
  name: railties
151
155
  requirement: !ruby/object:Gem::Requirement
152
156
  requirements:
153
157
  - - ">="
154
158
  - !ruby/object:Gem::Version
155
- version: 4.2.0
156
- - - "<"
157
- - !ruby/object:Gem::Version
158
- version: '6.1'
159
+ version: '5.2'
159
160
  type: :development
160
161
  prerelease: false
161
162
  version_requirements: !ruby/object:Gem::Requirement
162
163
  requirements:
163
164
  - - ">="
164
165
  - !ruby/object:Gem::Version
165
- version: 4.2.0
166
- - - "<"
167
- - !ruby/object:Gem::Version
168
- version: '6.1'
166
+ version: '5.2'
169
167
  - !ruby/object:Gem::Dependency
170
168
  name: rake
171
169
  requirement: !ruby/object:Gem::Requirement
172
170
  requirements:
173
171
  - - "~>"
174
172
  - !ruby/object:Gem::Version
175
- version: '10.0'
173
+ version: '13.0'
176
174
  type: :development
177
175
  prerelease: false
178
176
  version_requirements: !ruby/object:Gem::Requirement
179
177
  requirements:
180
178
  - - "~>"
181
179
  - !ruby/object:Gem::Version
182
- version: '10.0'
180
+ version: '13.0'
183
181
  - !ruby/object:Gem::Dependency
184
182
  name: rspec
185
183
  requirement: !ruby/object:Gem::Requirement
186
184
  requirements:
187
185
  - - "~>"
188
186
  - !ruby/object:Gem::Version
189
- version: '3.0'
187
+ version: '3.12'
190
188
  type: :development
191
189
  prerelease: false
192
190
  version_requirements: !ruby/object:Gem::Requirement
193
191
  requirements:
194
192
  - - "~>"
195
193
  - !ruby/object:Gem::Version
196
- version: '3.0'
194
+ version: '3.12'
197
195
  - !ruby/object:Gem::Dependency
198
196
  name: rubocop
199
197
  requirement: !ruby/object:Gem::Requirement
200
198
  requirements:
201
199
  - - "~>"
202
200
  - !ruby/object:Gem::Version
203
- version: 0.63.1
201
+ version: '1.28'
204
202
  type: :development
205
203
  prerelease: false
206
204
  version_requirements: !ruby/object:Gem::Requirement
207
205
  requirements:
208
206
  - - "~>"
209
207
  - !ruby/object:Gem::Version
210
- version: 0.63.1
208
+ version: '1.28'
209
+ - !ruby/object:Gem::Dependency
210
+ name: rubocop-rails
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '2.14'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '2.14'
211
223
  - !ruby/object:Gem::Dependency
212
224
  name: rubocop-rspec
213
225
  requirement: !ruby/object:Gem::Requirement
214
226
  requirements:
215
227
  - - "~>"
216
228
  - !ruby/object:Gem::Version
217
- version: '1.31'
229
+ version: '2.10'
218
230
  type: :development
219
231
  prerelease: false
220
232
  version_requirements: !ruby/object:Gem::Requirement
221
233
  requirements:
222
234
  - - "~>"
223
235
  - !ruby/object:Gem::Version
224
- version: '1.31'
236
+ version: '2.10'
225
237
  - !ruby/object:Gem::Dependency
226
238
  name: simplecov
227
239
  requirement: !ruby/object:Gem::Requirement
228
240
  requirements:
229
- - - "<"
241
+ - - ">="
230
242
  - !ruby/object:Gem::Version
231
- version: '0.18'
243
+ version: '0.22'
232
244
  type: :development
233
245
  prerelease: false
234
246
  version_requirements: !ruby/object:Gem::Requirement
235
247
  requirements:
236
- - - "<"
248
+ - - ">="
237
249
  - !ruby/object:Gem::Version
238
- version: '0.18'
250
+ version: '0.22'
239
251
  - !ruby/object:Gem::Dependency
240
252
  name: yard
241
253
  requirement: !ruby/object:Gem::Requirement
242
254
  requirements:
243
- - - "~>"
255
+ - - ">="
244
256
  - !ruby/object:Gem::Version
245
- version: 0.9.18
257
+ version: 0.9.28
246
258
  type: :development
247
259
  prerelease: false
248
260
  version_requirements: !ruby/object:Gem::Requirement
249
261
  requirements:
250
- - - "~>"
262
+ - - ">="
251
263
  - !ruby/object:Gem::Version
252
- version: 0.9.18
264
+ version: 0.9.28
253
265
  - !ruby/object:Gem::Dependency
254
266
  name: yard-activesupport-concern
255
267
  requirement: !ruby/object:Gem::Requirement
256
268
  requirements:
257
- - - "~>"
269
+ - - ">="
258
270
  - !ruby/object:Gem::Version
259
271
  version: 0.0.1
260
272
  type: :development
261
273
  prerelease: false
262
274
  version_requirements: !ruby/object:Gem::Requirement
263
275
  requirements:
264
- - - "~>"
276
+ - - ">="
265
277
  - !ruby/object:Gem::Version
266
278
  version: 0.0.1
267
279
  description: This is a reusable alarm concern for Active Recordmodels. It adds support
268
280
  for the automatic maintenanceof Active Job's which are scheduled for the givenalarms.
269
281
  email:
270
- - hermann.mayer@hausgold.de
282
+ - hermann.mayer92@gmail.com
271
283
  executables: []
272
284
  extensions: []
273
285
  extra_rdoc_files: []
274
286
  files:
275
287
  - ".editorconfig"
276
288
  - ".github/workflows/documentation.yml"
289
+ - ".github/workflows/release.yml"
277
290
  - ".github/workflows/test.yml"
278
291
  - ".gitignore"
279
292
  - ".rspec"
@@ -283,7 +296,10 @@ files:
283
296
  - Appraisals
284
297
  - CHANGELOG.md
285
298
  - CODE_OF_CONDUCT.md
299
+ - Dockerfile
300
+ - Envfile
286
301
  - Gemfile
302
+ - Guardfile
287
303
  - LICENSE
288
304
  - Makefile
289
305
  - README.md
@@ -291,20 +307,25 @@ files:
291
307
  - alarmable.gemspec
292
308
  - bin/console
293
309
  - bin/setup
310
+ - config/docker/.bash_profile
311
+ - config/docker/.bashrc
312
+ - config/docker/.inputrc
294
313
  - doc/assets/project.svg
295
314
  - docker-compose.yml
296
- - gemfiles/rails_4.gemfile
297
- - gemfiles/rails_5.0.gemfile
298
- - gemfiles/rails_5.1.gemfile
299
315
  - gemfiles/rails_5.2.gemfile
300
316
  - lib/alarmable.rb
301
317
  - lib/alarmable/concern.rb
302
318
  - lib/alarmable/version.rb
303
- homepage: https://github.com/hausgold/alarmable
319
+ homepage:
304
320
  licenses:
305
321
  - MIT
306
- metadata: {}
307
- post_install_message:
322
+ metadata:
323
+ homepage_uri: https://github.com/hausgold/alarmable
324
+ source_code_uri: https://github.com/hausgold/alarmable
325
+ changelog_uri: https://github.com/hausgold/alarmable/blob/master/CHANGELOG.md
326
+ bug_tracker_uri: https://github.com/hausgold/alarmable/issues
327
+ documentation_uri: https://www.rubydoc.info/gems/alarmable
328
+ post_install_message:
308
329
  rdoc_options: []
309
330
  require_paths:
310
331
  - lib
@@ -312,15 +333,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
312
333
  requirements:
313
334
  - - ">="
314
335
  - !ruby/object:Gem::Version
315
- version: '0'
336
+ version: '2.5'
316
337
  required_rubygems_version: !ruby/object:Gem::Requirement
317
338
  requirements:
318
339
  - - ">="
319
340
  - !ruby/object:Gem::Version
320
341
  version: '0'
321
342
  requirements: []
322
- rubygems_version: 3.2.16
323
- signing_key:
343
+ rubygems_version: 3.3.26
344
+ signing_key:
324
345
  specification_version: 4
325
346
  summary: A reusable alarm extension to Active Record models
326
347
  test_files: []
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activejob", "4.2.10"
6
- gem "activerecord", "4.2.10"
7
- gem "activesupport", "4.2.10"
8
-
9
- gemspec path: "../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activejob", "5.0.6"
6
- gem "activerecord", "5.0.6"
7
- gem "activesupport", "5.0.6"
8
-
9
- gemspec path: "../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activejob", "5.1.4"
6
- gem "activerecord", "5.1.4"
7
- gem "activesupport", "5.1.4"
8
-
9
- gemspec path: "../"