billomat 2.1.0 → 2.3.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: 812ae7210435ec4772e01a44b63a7d58ea4956f45406cbf99897b21b36e319f0
4
- data.tar.gz: '0789d34a5a7b5ff82c750d3f68d0c2d0971b277a9e08da59b09d3b8160e7a99a'
3
+ metadata.gz: 47ad2581ef4fbe17df7537195df2a925813c852a53e72815bed13e8974457fed
4
+ data.tar.gz: 831f3cbf90d0860469a80e553c819cf68103157c197521f1c605b811cb57e17f
5
5
  SHA512:
6
- metadata.gz: 89c7c6050be15c3d76f648ddfc7158fbc1b349a7a5288592906c613fac1b4bb55cb32f974c4fdc61210d6fb83f964ccd3da3e2304e89831cd2f9a76d25c83ab6
7
- data.tar.gz: 6217f95095e778bbcb9eacbd650a5aced9e774fe8f3c72ad7b741ba82cbeed00e2341d06b56aa755c2897d26cfeb713f239b7784c7db1a684c2009239f787a44
6
+ metadata.gz: 6188c8944338dd2c14c5a130782a5f449021f51e64b9c70101c8f4e94fd0ceec48b6d3574d8b6cb12b32e42b7917e2bd3c127a6466b9d0660aca027038d705b3
7
+ data.tar.gz: 48416304c137b4d51af17c5af9ea84f9e0e6a11982cdf9e804ba2411ddd17ebd925acbd9db94376b5d45da63245ca47a9cccfd3db2b06148e48d000743c94084
@@ -20,10 +20,10 @@ jobs:
20
20
  steps:
21
21
  - uses: actions/checkout@v4
22
22
 
23
- - name: Install Ruby 3.2
23
+ - name: Install Ruby 3.3
24
24
  uses: ruby/setup-ruby@v1
25
25
  with:
26
- ruby-version: 3.2
26
+ ruby-version: 3.3
27
27
  bundler-cache: true
28
28
  rubygems: '3.6.9'
29
29
 
@@ -18,8 +18,8 @@ jobs:
18
18
  strategy:
19
19
  fail-fast: false
20
20
  matrix:
21
- ruby: ['3.2', '3.3', '3.4']
22
- rails: ['7.1', '7.2', '8.0', '8.1']
21
+ ruby: ['3.3', '3.4', '4.0']
22
+ rails: ['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
@@ -1,3 +1,7 @@
1
+ inherit_from:
2
+ - https://potpourri.hausgold.de/config/rubocop.yml
3
+ - https://potpourri.hausgold.de/config/rubocop-gem.yml
4
+
1
5
  plugins:
2
6
  - rubocop-rspec
3
7
  - rubocop-rails
@@ -5,54 +9,24 @@ plugins:
5
9
  Rails:
6
10
  Enabled: true
7
11
 
8
- Style/Documentation:
9
- Enabled: true
10
-
11
12
  AllCops:
12
13
  NewCops: enable
13
14
  SuggestExtensions: false
14
15
  DisplayCopNames: true
15
- TargetRubyVersion: 3.2
16
- TargetRailsVersion: 7.1
16
+ TargetRubyVersion: 3.3
17
+ TargetRailsVersion: 7.2
17
18
  Exclude:
18
19
  - bin/**/*
19
20
  - vendor/**/*
20
21
  - build/**/*
21
22
  - gemfiles/**/*
22
23
 
23
- Metrics/BlockLength:
24
- Exclude:
25
- - Rakefile
26
- - '*.gemspec'
27
- - spec/**/*.rb
28
- - '**/*.rake'
29
- - doc/**/*.rb
30
-
31
- # MFA is not yet enabled for our gems yet.
32
- Gemspec/RequireMFA:
33
- Enabled: false
34
-
35
- # Document all the things.
36
- Style/DocumentationMethod:
37
- Enabled: true
38
- RequireForNonPublicMethods: true
39
-
40
24
  # It's a deliberate idiom in RSpec.
41
25
  # See: https://github.com/bbatsov/rubocop/issues/4222
42
26
  Lint/AmbiguousBlockAssociation:
43
27
  Exclude:
44
28
  - "spec/**/*"
45
29
 
46
- # Because +expect_any_instance_of().to have_received()+ is not
47
- # supported with the +with(hash_including)+ matchers
48
- RSpec/MessageSpies:
49
- EnforcedStyle: receive
50
-
51
- # Because nesting makes sense here to group the feature tests
52
- # more effective. This increases maintainability.
53
- RSpec/NestedGroups:
54
- Max: 4
55
-
56
30
  # Disable regular Rails spec paths.
57
31
  Rails/FilePath:
58
32
  Enabled: false
@@ -60,11 +34,3 @@ Rails/FilePath:
60
34
  # Because we just implemented the ActiveRecord API.
61
35
  Rails/SkipsModelValidations:
62
36
  Enabled: false
63
-
64
- # We stay with the original Ruby Style Guide recommendation.
65
- Layout/LineLength:
66
- Max: 80
67
-
68
- # We highly depend on memoized helpers across the specs.
69
- RSpec/MultipleMemoizedHelpers:
70
- Enabled: false
data/Appraisals CHANGED
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- appraise 'rails-7.1' do
4
- gem 'activesupport', '~> 7.1.0'
5
- end
6
-
7
3
  appraise 'rails-7.2' do
8
4
  gem 'activesupport', '~> 7.2.0'
9
5
  end
data/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  * TODO: Replace this bullet point with an actual description of a change.
4
4
 
5
+ ### 2.3.0 (26 December 2025)
6
+
7
+ * Added Ruby 4.0 support ([#39](https://github.com/hausgold/billomat/pull/39))
8
+ * Dropped Ruby 3.2 and Rails 7.1 support ([#38](https://github.com/hausgold/billomat/pull/38))
9
+
10
+ ### 2.2.0 (19 December 2025)
11
+
12
+ * Migrated to a shared Rubocop configuration for HAUSGOLD gems ([#37](https://github.com/hausgold/billomat/pull/37))
13
+
5
14
  ### 2.1.0 (24 October 2025)
6
15
 
7
16
  * Dropped Reek ([#35](https://github.com/hausgold/billomat/pull/35))
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM hausgold/ruby:3.2
1
+ FROM hausgold/ruby:3.3
2
2
  LABEL org.opencontainers.image.authors="containers@hausgold.de"
3
3
 
4
4
  # Update system gem
data/Envfile CHANGED
@@ -1,3 +1,4 @@
1
1
  LANG=en_US.UTF-8
2
2
  LANGUAGE=en_US.UTF-8
3
3
  LC_ALL=en_US.UTF-8
4
+ RUBOCOP_CACHE_ROOT=/app/tmp
data/Gemfile CHANGED
@@ -7,7 +7,7 @@ gemspec
7
7
 
8
8
  # Development dependencies
9
9
  gem 'appraisal', '~> 2.4'
10
- gem 'bundler', '~> 2.6'
10
+ gem 'bundler', '>= 2.6', '< 5'
11
11
  gem 'countless', '~> 2.0'
12
12
  gem 'guard-rspec', '~> 4.7'
13
13
  gem 'irb', '~> 1.2'
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2023 HAUSGOLD | talocasa GmbH
3
+ Copyright (c) 2025 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
data/Makefile CHANGED
@@ -90,7 +90,8 @@ all:
90
90
  install:
91
91
  # Install the dependencies
92
92
  @$(MKDIR) -p $(VENDOR_DIR)
93
- @$(call run-shell,$(BUNDLE) check || $(BUNDLE) install --path $(VENDOR_DIR))
93
+ @$(call run-shell,$(BUNDLE) config set --local path '$(VENDOR_DIR)')
94
+ @$(call run-shell,$(BUNDLE) check || $(BUNDLE) install)
94
95
  @$(call run-shell,$(BUNDLE) exec $(APPRAISAL) install)
95
96
 
96
97
  update:
@@ -127,7 +128,7 @@ test-style: \
127
128
  test-style-ruby:
128
129
  # Run the static code analyzer (rubocop)
129
130
  @$(call run-shell,$(BUNDLE) exec $(RUBOCOP) -a \
130
- || ($(TEST) $$($(RUBY_VERSION)) != '3.2' && true))
131
+ || ($(TEST) $$($(RUBY_VERSION)) != '3.3' && true))
131
132
 
132
133
  clean:
133
134
  # Clean the dependencies
data/README.md CHANGED
@@ -55,7 +55,7 @@ Billomat.configure do |config|
55
55
  # timeout in seconds
56
56
  config.timeout = 5
57
57
 
58
- # You can also configure a registerd app to increase your
58
+ # You can also configure a registered app to increase your
59
59
  # API call limit as described here:
60
60
  # https://www.billomat.com/en/api/basics/rate-limiting/
61
61
  config.app_id = '12345'
data/billomat.gemspec CHANGED
@@ -31,9 +31,9 @@ Gem::Specification.new do |spec|
31
31
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
32
32
  spec.require_paths = ['lib']
33
33
 
34
- spec.required_ruby_version = '>= 3.2'
34
+ spec.required_ruby_version = '>= 3.3'
35
35
 
36
- spec.add_dependency 'activesupport', '>= 7.1'
36
+ spec.add_dependency 'activesupport', '>= 7.2'
37
37
  spec.add_dependency 'rest-client', '~> 2.1'
38
38
  spec.add_dependency 'zeitwerk', '~> 2.6'
39
39
  end
@@ -3,7 +3,7 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "appraisal", "~> 2.4"
6
- gem "bundler", "~> 2.6"
6
+ gem "bundler", ">= 2.6", "< 5"
7
7
  gem "countless", "~> 2.0"
8
8
  gem "guard-rspec", "~> 4.7"
9
9
  gem "irb", "~> 1.2"
@@ -3,7 +3,7 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "appraisal", "~> 2.4"
6
- gem "bundler", "~> 2.6"
6
+ gem "bundler", ">= 2.6", "< 5"
7
7
  gem "countless", "~> 2.0"
8
8
  gem "guard-rspec", "~> 4.7"
9
9
  gem "irb", "~> 1.2"
@@ -3,7 +3,7 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "appraisal", "~> 2.4"
6
- gem "bundler", "~> 2.6"
6
+ gem "bundler", ">= 2.6", "< 5"
7
7
  gem "countless", "~> 2.0"
8
8
  gem "guard-rspec", "~> 4.7"
9
9
  gem "irb", "~> 1.2"
@@ -30,13 +30,9 @@ module Billomat
30
30
  #
31
31
  # @param data [Hash] the attributes of the object
32
32
  # @return [Billomat::Models::Base] the record as an object
33
- #
34
- # rubocop:disable Style/OpenStructUse -- because of the convenient
35
- # dynamic data access
36
33
  def initialize(data = {})
37
34
  @data = OpenStruct.new(data)
38
35
  end
39
- # rubocop:enable Style/OpenStructUse
40
36
 
41
37
  # Persists the current object in the API.
42
38
  # When record is new it calls create, otherwise it saves the object.
@@ -51,8 +47,6 @@ module Billomat
51
47
 
52
48
  # @return [TrueClass]
53
49
  #
54
- # rubocop:disable Style/OpenStructUse -- because of the convenient
55
- # dynamic data access
56
50
  # rubocop:disable Naming/PredicateMethod -- because this method performs
57
51
  # an action, not a predicate check (bool is for error signaling)
58
52
  def create
@@ -65,7 +59,6 @@ module Billomat
65
59
  true
66
60
  end
67
61
  alias create! create
68
- # rubocop:enable Style/OpenStructUse
69
62
  # rubocop:enable Naming/PredicateMethod
70
63
 
71
64
  # @return [TrueClass]
@@ -3,7 +3,7 @@
3
3
  # The gem version details.
4
4
  module Billomat
5
5
  # The version of the +billomat+ gem
6
- VERSION = '2.1.0'
6
+ VERSION = '2.3.0'
7
7
 
8
8
  class << self
9
9
  # Returns the version of gem as a string.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: billomat
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hermann Mayer
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '7.1'
19
+ version: '7.2'
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: '7.1'
26
+ version: '7.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rest-client
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -87,8 +87,6 @@ files:
87
87
  - config/docker/.inputrc
88
88
  - doc/assets/project.svg
89
89
  - docker-compose.yml
90
- - gemfiles/rails_6.1.gemfile
91
- - gemfiles/rails_7.1.gemfile
92
90
  - gemfiles/rails_7.2.gemfile
93
91
  - gemfiles/rails_8.0.gemfile
94
92
  - gemfiles/rails_8.1.gemfile
@@ -128,7 +126,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
128
126
  requirements:
129
127
  - - ">="
130
128
  - !ruby/object:Gem::Version
131
- version: '3.2'
129
+ version: '3.3'
132
130
  required_rubygems_version: !ruby/object:Gem::Requirement
133
131
  requirements:
134
132
  - - ">="
@@ -1,20 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "appraisal", "~> 2.4"
6
- gem "bundler", "~> 2.3"
7
- gem "countless", "~> 1.1"
8
- gem "guard-rspec", "~> 4.7"
9
- gem "irb", "~> 1.2"
10
- gem "rake", "~> 13.0"
11
- gem "rspec", "~> 3.12"
12
- gem "rubocop"
13
- gem "rubocop-rails"
14
- gem "rubocop-rspec"
15
- gem "simplecov", ">= 0.22"
16
- gem "yard", ">= 0.9.28"
17
- gem "yard-activesupport-concern", ">= 0.0.1"
18
- gem "activesupport", "~> 6.1.0"
19
-
20
- gemspec path: "../"
@@ -1,20 +0,0 @@
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 "irb", "~> 1.2"
10
- gem "rake", "~> 13.0"
11
- gem "rspec", "~> 3.12"
12
- gem "rubocop"
13
- gem "rubocop-rails"
14
- gem "rubocop-rspec"
15
- gem "simplecov", ">= 0.22"
16
- gem "yard", ">= 0.9.28"
17
- gem "yard-activesupport-concern", ">= 0.0.1"
18
- gem "activesupport", "~> 7.1.0"
19
-
20
- gemspec path: "../"