billomat 1.5.0 → 2.0.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: aa8065de1ae3aa281d75f0021aec499e7ee218e3e768a54f2571011073f76d9d
4
- data.tar.gz: 9a4a6f26d77652b6ac0e242cb84b24ab01f5089a9d1dae9b7317934b9aecb344
3
+ metadata.gz: c5207ff86ffae0adc27256cdd5b11c8fe077863af6bbd506026884756bb86b81
4
+ data.tar.gz: dce3876b2653f45df09bf925e31732f8b0a0d6de4f079f17aeebbefc85ccd300
5
5
  SHA512:
6
- metadata.gz: 1f7a148260094d9c89f828ae8adde9dcb7205fea54828aeb8e00b708aeed30238def5f9fc0661c6a205f1e959c1d29771738c57582e2bea2bbba5e67920a2921
7
- data.tar.gz: 315670b263e80f5d665e50e1cc9aee5a3d4153977555093d0d2264b1c4a145cbeea81ac1bdb3f70195111e2904df6b9b3bfdaf82b6912b4ea51be9e77c04d7a2
6
+ metadata.gz: 7264f9c83528a4afa9abc39ce41030cdb22f03645e2b817c3b68dac26640dd21b409ec9b5db2d8029a6432812c88741fcdd73a436f43a8d58ee91c25c3549236
7
+ data.tar.gz: 92080b6e738669d1feb50ed9de5395f38296918d9119acce0df3230c8e39f28c6aea1a242e949e2c91d8272ee838d6710e7aba850ab9ef9576f9bdb1f1532c0f
@@ -20,12 +20,12 @@ jobs:
20
20
  steps:
21
21
  - uses: actions/checkout@v4
22
22
 
23
- - name: Install Ruby 2.7
23
+ - name: Install Ruby 3.2
24
24
  uses: ruby/setup-ruby@v1
25
25
  with:
26
- ruby-version: 2.7
26
+ ruby-version: 3.2
27
27
  bundler-cache: true
28
- rubygems: '3.4.22'
28
+ rubygems: '3.6.9'
29
29
 
30
30
  - name: Prepare the virtual environment
31
31
  uses: hausgold/actions/ci@master
@@ -18,8 +18,8 @@ jobs:
18
18
  strategy:
19
19
  fail-fast: false
20
20
  matrix:
21
- ruby: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4']
22
- rails: ['6.1', '7.1']
21
+ ruby: ['3.2', '3.3', '3.4']
22
+ rails: ['7.1', '7.2', '8.0']
23
23
  env:
24
24
  BUNDLE_GEMFILE: 'gemfiles/rails_${{ matrix.rails }}.gemfile'
25
25
  steps:
@@ -30,7 +30,7 @@ jobs:
30
30
  with:
31
31
  ruby-version: ${{ matrix.ruby }}
32
32
  bundler-cache: true
33
- rubygems: '3.4.22'
33
+ rubygems: '3.6.9'
34
34
 
35
35
  - name: Prepare the virtual environment
36
36
  uses: hausgold/actions/ci@master
data/.rubocop.yml CHANGED
@@ -1,4 +1,4 @@
1
- require:
1
+ plugins:
2
2
  - rubocop-rspec
3
3
  - rubocop-rails
4
4
 
@@ -12,7 +12,7 @@ AllCops:
12
12
  NewCops: enable
13
13
  SuggestExtensions: false
14
14
  DisplayCopNames: true
15
- TargetRubyVersion: 2.7
15
+ TargetRubyVersion: 3.2
16
16
  TargetRailsVersion: 6.1
17
17
  Exclude:
18
18
  - bin/**/*
@@ -54,7 +54,7 @@ RSpec/NestedGroups:
54
54
  Max: 4
55
55
 
56
56
  # Disable regular Rails spec paths.
57
- RSpec/FilePath:
57
+ Rails/FilePath:
58
58
  Enabled: false
59
59
 
60
60
  # Because we just implemented the ActiveRecord API.
data/Appraisals CHANGED
@@ -1,9 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- appraise 'rails-6.1' do
4
- gem 'activesupport', '~> 6.1.0'
5
- end
6
-
7
3
  appraise 'rails-7.1' do
8
4
  gem 'activesupport', '~> 7.1.0'
9
5
  end
6
+
7
+ appraise 'rails-7.2' do
8
+ gem 'activesupport', '~> 7.2.0'
9
+ end
10
+
11
+ appraise 'rails-8.0' do
12
+ gem 'activesupport', '~> 8.0.0'
13
+ end
data/CHANGELOG.md CHANGED
@@ -2,6 +2,17 @@
2
2
 
3
3
  * TODO: Replace this bullet point with an actual description of a change.
4
4
 
5
+ ### 2.0.0 (28 June 2025)
6
+
7
+ * Corrected some RuboCop glitches ([#33](https://github.com/hausgold/billomat/pull/33))
8
+ * Drop Ruby 2 and end of life Rails (<7.1) ([#34](https://github.com/hausgold/billomat/pull/34))
9
+
10
+ ### 1.5.1 (9 May 2025)
11
+
12
+ * Corrected some RuboCop glitches ([#30](https://github.com/hausgold/billomat/pull/30))
13
+ * Upgraded the rubocop dependencies ([#31](https://github.com/hausgold/billomat/pull/31))
14
+ * Gracefully deal with non-JSON gateway error bodies ([#32](https://github.com/hausgold/billomat/pull/32))
15
+
5
16
  ### 1.5.0 (30 January 2025)
6
17
 
7
18
  * Added all versions up to Ruby 3.4 to the CI matrix ([#29](https://github.com/hausgold/billomat/pull/29))
data/Dockerfile CHANGED
@@ -1,5 +1,5 @@
1
- FROM hausgold/ruby:2.7
2
- MAINTAINER Hermann Mayer <hermann.mayer@hausgold.de>
1
+ FROM hausgold/ruby:3.2
2
+ LABEL org.opencontainers.image.authors="containers@hausgold.de"
3
3
 
4
4
  # Update system gem
5
5
  RUN gem update --system '3.4.22'
@@ -11,7 +11,7 @@ RUN apt-get update -yqqq && \
11
11
  ca-certificates \
12
12
  bash-completion inotify-tools && \
13
13
  echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && /usr/sbin/locale-gen && \
14
- gem install bundler -v '~> 2.4.22' --no-document --no-prerelease
14
+ gem install bundler -v '~> 2.6.9' --no-document --no-prerelease
15
15
 
16
16
  # Add new web user
17
17
  RUN mkdir /app && \
data/Gemfile CHANGED
@@ -7,15 +7,15 @@ gemspec
7
7
 
8
8
  # Development dependencies
9
9
  gem 'appraisal', '~> 2.4'
10
- gem 'bundler', '~> 2.3'
11
- gem 'countless', '~> 1.1'
10
+ gem 'bundler', '~> 2.6'
11
+ gem 'countless', '~> 2.0'
12
12
  gem 'guard-rspec', '~> 4.7'
13
13
  gem 'irb', '~> 1.2'
14
14
  gem 'rake', '~> 13.0'
15
15
  gem 'rspec', '~> 3.12'
16
- gem 'rubocop', '~> 1.28'
17
- gem 'rubocop-rails', '~> 2.14'
18
- gem 'rubocop-rspec', '~> 2.10'
16
+ gem 'rubocop'
17
+ gem 'rubocop-rails'
18
+ gem 'rubocop-rspec'
19
19
  gem 'simplecov', '>= 0.22'
20
20
  gem 'yard', '>= 0.9.28'
21
21
  gem 'yard-activesupport-concern', '>= 0.0.1'
data/Makefile CHANGED
@@ -127,7 +127,7 @@ test-style: \
127
127
  test-style-ruby:
128
128
  # Run the static code analyzer (rubocop)
129
129
  @$(call run-shell,$(BUNDLE) exec $(RUBOCOP) -a \
130
- || ($(TEST) $$($(RUBY_VERSION)) != '2.7' && true))
130
+ || ($(TEST) $$($(RUBY_VERSION)) != '3.2' && true))
131
131
 
132
132
  clean:
133
133
  # Clean the dependencies
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 = '>= 2.7'
34
+ spec.required_ruby_version = '>= 3.2'
35
35
 
36
- spec.add_dependency 'activesupport', '>= 6.1'
36
+ spec.add_dependency 'activesupport', '>= 7.1'
37
37
  spec.add_dependency 'rest-client', '~> 2.1'
38
38
  spec.add_dependency 'zeitwerk', '~> 2.6'
39
39
  end
@@ -1,68 +1,7 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <svg
3
- xmlns:dc="http://purl.org/dc/elements/1.1/"
4
- xmlns:cc="http://creativecommons.org/ns#"
5
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
- xmlns:svg="http://www.w3.org/2000/svg"
7
- xmlns="http://www.w3.org/2000/svg"
8
- version="1.1"
9
- id="Ebene_1"
10
- x="0px"
11
- y="0px"
12
- viewBox="0 0 800 200"
13
- xml:space="preserve"
14
- width="800"
15
- height="200"><metadata
16
- id="metadata33"><rdf:RDF><cc:Work
17
- rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
18
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
19
- id="defs31" />
20
- <style
21
- type="text/css"
22
- id="style2">
23
- .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#E73E11;}
24
- .st1{fill-rule:evenodd;clip-rule:evenodd;fill:#0371B9;}
25
- .st2{fill:#132E48;}
26
- .st3{font-family:'OpenSans-Bold';}
27
- .st4{font-size:29.5168px;}
28
- .st5{fill-rule:evenodd;clip-rule:evenodd;fill:none;}
29
- .st6{opacity:0.5;fill:#132E48;}
30
- .st7{font-family:'OpenSans';}
31
- .st8{font-size:12px;}
32
- </style>
33
- <g
34
- transform="translate(0,1.53584)"
35
- id="g828"><g
36
- transform="translate(35.93985,35.66416)"
37
- id="g8">
38
- <path
39
- style="clip-rule:evenodd;fill:#e73e11;fill-rule:evenodd"
40
- id="path4"
41
- d="m -0.1,124.4 c 0,0 33.7,-123.2 66.7,-123.2 12.8,0 26.9,21.9 38.8,47.2 -23.6,27.9 -66.6,59.7 -94,76 -7.1,0 -11.5,0 -11.5,0 z"
42
- class="st0" />
43
- <path
44
- style="clip-rule:evenodd;fill:#0371b9;fill-rule:evenodd"
45
- id="path6"
46
- d="m 88.1,101.8 c 13.5,-10.4 18.4,-16.2 27.1,-25.4 10,25.7 16.7,48 16.7,48 0,0 -41.4,0 -78,0 14.6,-7.9 18.7,-10.7 34.2,-22.6 z"
47
- class="st1" />
48
- </g><text
49
- y="106.40316"
50
- x="192.43155"
51
- style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.51733398px;font-family:'Open Sans', sans-serif;-inkscape-font-specification:'OpenSans-Bold, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#132e48"
52
- id="text10"
53
- class="st2 st3 st4">Billomat</text>
54
- <rect
55
- style="clip-rule:evenodd;fill:none;fill-rule:evenodd"
56
- id="rect12"
57
- height="24"
58
- width="314.5"
59
- class="st5"
60
- y="118.06416"
61
- x="194.23985" /><text
62
- y="127.22146"
63
- x="194.21715"
64
- style="font-size:12px;font-family:'Open Sans', sans-serif;opacity:0.5;fill:#132e48;-inkscape-font-specification:'Open Sans, sans-serif, Normal';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;"
65
- id="text14"
66
- class="st6 st7 st8">API wrapper for billomat.com</text>
67
- </g>
68
- </svg>
1
+ <svg id="hg-readme-banner-v2" viewBox="0 0 800 200" width="800" height="200" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="a" x1="112.46" y1="309.13" x2="314.5" y2="309.13" gradientUnits="userSpaceOnUse" gradientTransform="translate(-33.985 -122.816)"><stop offset="0" stop-color="#1992f4" /><stop offset="1" stop-color="#2b8af6" /></linearGradient></defs><style>.st3{font-family:&apos;OpenSans-Bold&apos;}.st4{font-size:29.5168px}.st5{fill-rule:evenodd;clip-rule:evenodd;fill:none}.st7{font-family:&apos;OpenSans&apos;}.st8{font-size:12px}@media (prefers-color-scheme:dark){text{fill:#f0f6fc!important}}</style>
2
+ <text y="107.939" x="192.432" style="font-family:'Open Sans', sans-serif;-inkscape-font-specification:'OpenSans-Bold, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start" class="st3 st4" font-weight="700" font-size="29.517" font-family="'Open Sans',sans-serif" fill="#3f3e4b"
3
+ >Billomat</text>
4
+ <path class="st5" clip-rule="evenodd" fill="none" fill-rule="evenodd" d="M194.24 119.6h314.5v24h-314.5z"/>
5
+ <text y="128.757" x="194.217" style="font-family:'Open Sans', sans-serif;-inkscape-font-specification:'Open Sans, sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start" class="st7 st8" font-weight="400" font-size="12" font-family="'Open Sans',sans-serif" opacity=".75" fill="#3f3e4b"
6
+ >API wrapper for billomat.com</text>
7
+ <g transform="translate(33.985 122.816)"><path d="M129.427 32.4q-7-20.71-14.09-41.44c-.33-1-.52-1.18-1.34-.25-3.1 3.48-6.25 6.92-9.49 10.26a180.23 180.23 0 0 1-18.54 16.15 193.7 193.7 0 0 1-21.95 15.43c-2.53 1.47-5.08 2.91-7.62 4.36l.11.27h73.05c1 .1 1.4-.13 1-1.22-.4-1.09-.73-2.38-1.13-3.56z" fill="url(#a)" /><path d="M89.077-63.87c-3.57-5.58-7.42-10.95-12.62-15.17-3.93-3.19-8.28-5-13.42-3.32a23 23 0 0 0-8.76 5.6 66.77 66.77 0 0 0-10.34 13.09c-8 12.68-14.06 26.28-19.28 40.25-4.6 12.33-8.82 24.8-12.95 37.29-2.45 7.41-4.39 15-6.61 22.49-.26.88 0 1 .79 1h7.4c1.23 0 2.44.14 3.6-.68 9.17-6.45 18.51-12.67 27.55-19.31a396.21 396.21 0 0 0 37.36-31.3 245.79 245.79 0 0 0 20.74-22 1.6 1.6 0 0 0 .26-2 224.45 224.45 0 0 0-13.72-25.94z" fill="#f2686d" /></g></svg>
data/docker-compose.yml CHANGED
@@ -1,4 +1,3 @@
1
- version: "3"
2
1
  services:
3
2
  test:
4
3
  build: .
@@ -9,9 +9,9 @@ gem "guard-rspec", "~> 4.7"
9
9
  gem "irb", "~> 1.2"
10
10
  gem "rake", "~> 13.0"
11
11
  gem "rspec", "~> 3.12"
12
- gem "rubocop", "~> 1.28"
13
- gem "rubocop-rails", "~> 2.14"
14
- gem "rubocop-rspec", "~> 2.10"
12
+ gem "rubocop"
13
+ gem "rubocop-rails"
14
+ gem "rubocop-rspec"
15
15
  gem "simplecov", ">= 0.22"
16
16
  gem "yard", ">= 0.9.28"
17
17
  gem "yard-activesupport-concern", ">= 0.0.1"
@@ -3,15 +3,15 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "appraisal", "~> 2.4"
6
- gem "bundler", "~> 2.3"
7
- gem "countless", "~> 1.1"
6
+ gem "bundler", "~> 2.6"
7
+ gem "countless", "~> 2.0"
8
8
  gem "guard-rspec", "~> 4.7"
9
9
  gem "irb", "~> 1.2"
10
10
  gem "rake", "~> 13.0"
11
11
  gem "rspec", "~> 3.12"
12
- gem "rubocop", "~> 1.28"
13
- gem "rubocop-rails", "~> 2.14"
14
- gem "rubocop-rspec", "~> 2.10"
12
+ gem "rubocop"
13
+ gem "rubocop-rails"
14
+ gem "rubocop-rspec"
15
15
  gem "simplecov", ">= 0.22"
16
16
  gem "yard", ">= 0.9.28"
17
17
  gem "yard-activesupport-concern", ">= 0.0.1"
@@ -0,0 +1,20 @@
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.2.0"
19
+
20
+ gemspec path: "../"
@@ -0,0 +1,20 @@
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", "~> 8.0.0"
19
+
20
+ gemspec path: "../"
@@ -11,8 +11,7 @@ module Billomat
11
11
  def initialize(original_exception)
12
12
  # Extract the error from the response if it is present. If no error
13
13
  # could be extracted, use the whole body
14
- body = original_exception.response&.body
15
- response_error = JSON.parse(body).dig('errors', 'error') || body if body
14
+ response_error = unpack_error_message(original_exception)
16
15
 
17
16
  # Use the default message and append our detailed error
18
17
  message = original_exception.default_message
@@ -21,6 +20,21 @@ module Billomat
21
20
  super(message)
22
21
  @original_exception = original_exception
23
22
  end
23
+
24
+ private
25
+
26
+ # Extract an error message from the response. If json, parse and extract.
27
+ # Otherwise, extract the first 128 bytes from the body; it's probably
28
+ # generic error HTML generated by a LoadBalancer
29
+ #
30
+ # @param original_exception [RestClient::Exception] the original exception
31
+ # @return [String, nil] the extracted error message
32
+ def unpack_error_message(original_exception)
33
+ body = original_exception.response&.body
34
+ JSON.parse(body).dig('errors', 'error') || body if body
35
+ rescue JSON::ParserError
36
+ body[0, 127] # probably HTML, thus only take the first few bytes
37
+ end
24
38
  end
25
39
 
26
40
  # This class can be used by the gem to communicate with the API.
@@ -31,7 +31,7 @@ module Billomat
31
31
  # @param data [Hash] the attributes of the object
32
32
  # @return [Billomat::Models::Base] the record as an object
33
33
  #
34
- # rubocop:disable Style/OpenStructUse because of the convenient
34
+ # rubocop:disable Style/OpenStructUse -- because of the convenient
35
35
  # dynamic data access
36
36
  def initialize(data = {})
37
37
  @data = OpenStruct.new(data)
@@ -51,8 +51,10 @@ module Billomat
51
51
 
52
52
  # @return [TrueClass]
53
53
  #
54
- # rubocop:disable Style/OpenStructUse because of the convenient
54
+ # rubocop:disable Style/OpenStructUse -- because of the convenient
55
55
  # dynamic data access
56
+ # rubocop:disable Naming/PredicateMethod -- because this method performs
57
+ # an action, not a predicate check (bool is for error signaling)
56
58
  def create
57
59
  resp = Billomat::Gateway.new(
58
60
  :post, self.class.base_path, wrapped_data
@@ -64,8 +66,12 @@ module Billomat
64
66
  end
65
67
  alias create! create
66
68
  # rubocop:enable Style/OpenStructUse
69
+ # rubocop:enable Naming/PredicateMethod
67
70
 
68
71
  # @return [TrueClass]
72
+ #
73
+ # rubocop:disable Naming/PredicateMethod -- because this method performs
74
+ # an action, not a predicate check (bool is for error signaling)
69
75
  def update
70
76
  path = "#{self.class.base_path}/#{id}"
71
77
  resp = Billomat::Gateway.new(:put, path, wrapped_data).run
@@ -74,8 +80,12 @@ module Billomat
74
80
  true
75
81
  end
76
82
  alias update! update
83
+ # rubocop:enable Naming/PredicateMethod
77
84
 
78
85
  # @return [TrueClass]
86
+ #
87
+ # rubocop:disable Naming/PredicateMethod -- because this method performs
88
+ # an action, not a predicate check (bool is for error signaling)
79
89
  def delete
80
90
  path = "#{self.class.base_path}/#{id}"
81
91
  Billomat::Gateway.new(:delete, path).run
@@ -83,6 +93,7 @@ module Billomat
83
93
  true
84
94
  end
85
95
  alias delete! delete
96
+ # rubocop:enable Naming/PredicateMethod
86
97
 
87
98
  # @return [String, nil] the object's ID
88
99
  def id
@@ -113,7 +124,7 @@ module Billomat
113
124
  # invoice = Billomat::Models::Invoice.new(invoice_number: '123')
114
125
  # invoice.invoice_number
115
126
  # #=> '123'
116
- def method_missing(method, *args, &block)
127
+ def method_missing(method, *args, &)
117
128
  return @data[method] if @data.to_h.key?(method)
118
129
 
119
130
  super
@@ -3,7 +3,7 @@
3
3
  # The gem version details.
4
4
  module Billomat
5
5
  # The version of the +billomat+ gem
6
- VERSION = '1.5.0'
6
+ VERSION = '2.0.0'
7
7
 
8
8
  class << self
9
9
  # Returns the version of gem as a string.
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: billomat
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hermann Mayer
8
8
  - Henning Vogt
9
- autorequire:
10
9
  bindir: exe
11
10
  cert_chain: []
12
- date: 2025-01-30 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activesupport
@@ -17,14 +16,14 @@ dependencies:
17
16
  requirements:
18
17
  - - ">="
19
18
  - !ruby/object:Gem::Version
20
- version: '6.1'
19
+ version: '7.1'
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
23
  requirements:
25
24
  - - ">="
26
25
  - !ruby/object:Gem::Version
27
- version: '6.1'
26
+ version: '7.1'
28
27
  - !ruby/object:Gem::Dependency
29
28
  name: rest-client
30
29
  requirement: !ruby/object:Gem::Requirement
@@ -90,6 +89,8 @@ files:
90
89
  - docker-compose.yml
91
90
  - gemfiles/rails_6.1.gemfile
92
91
  - gemfiles/rails_7.1.gemfile
92
+ - gemfiles/rails_7.2.gemfile
93
+ - gemfiles/rails_8.0.gemfile
93
94
  - lib/billomat.rb
94
95
  - lib/billomat/actions/cancel.rb
95
96
  - lib/billomat/actions/complete.rb
@@ -111,7 +112,6 @@ files:
111
112
  - lib/billomat/models/template.rb
112
113
  - lib/billomat/search.rb
113
114
  - lib/billomat/version.rb
114
- homepage:
115
115
  licenses:
116
116
  - MIT
117
117
  metadata:
@@ -120,7 +120,6 @@ metadata:
120
120
  changelog_uri: https://github.com/hausgold/billomat/blob/master/CHANGELOG.md
121
121
  bug_tracker_uri: https://github.com/hausgold/billomat/issues
122
122
  documentation_uri: https://www.rubydoc.info/gems/billomat
123
- post_install_message:
124
123
  rdoc_options: []
125
124
  require_paths:
126
125
  - lib
@@ -128,15 +127,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
128
127
  requirements:
129
128
  - - ">="
130
129
  - !ruby/object:Gem::Version
131
- version: '2.7'
130
+ version: '3.2'
132
131
  required_rubygems_version: !ruby/object:Gem::Requirement
133
132
  requirements:
134
133
  - - ">="
135
134
  - !ruby/object:Gem::Version
136
135
  version: '0'
137
136
  requirements: []
138
- rubygems_version: 3.4.22
139
- signing_key:
137
+ rubygems_version: 3.6.9
140
138
  specification_version: 4
141
139
  summary: Wrapper for the Billomat API
142
140
  test_files: []