billomat 1.5.1 → 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: 6ee6ebd2cbd53ca2dbd1dee24eae4635a8c59659eb9dd582a74ea653476fc92b
4
- data.tar.gz: 63806bba355815bc2268fba35da890892aeafcbb1433495b277e720aeb3cf722
3
+ metadata.gz: 812ae7210435ec4772e01a44b63a7d58ea4956f45406cbf99897b21b36e319f0
4
+ data.tar.gz: '0789d34a5a7b5ff82c750d3f68d0c2d0971b277a9e08da59b09d3b8160e7a99a'
5
5
  SHA512:
6
- metadata.gz: 0111304b1914f53af9e8a309e61d7bcff6e1f5df88610f9862d684fbf1ae2e41eb49cd39735b890d26aa36508f90d63a59ddf0f7ef883545142b30968b8a0472
7
- data.tar.gz: 3eb8e02713788b62695c9fb2484c75e174b4b8ef3262fd726dff6f641d9d0417e587a7967fb237aa0ab7e18b6bed90745673f948fc72a65a42668afb5dc195ee
6
+ metadata.gz: 89c7c6050be15c3d76f648ddfc7158fbc1b349a7a5288592906c613fac1b4bb55cb32f974c4fdc61210d6fb83f964ccd3da3e2304e89831cd2f9a76d25c83ab6
7
+ data.tar.gz: 6217f95095e778bbcb9eacbd650a5aced9e774fe8f3c72ad7b741ba82cbeed00e2341d06b56aa755c2897d26cfeb713f239b7784c7db1a684c2009239f787a44
@@ -16,16 +16,16 @@ 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
 
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', '8.1']
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
@@ -12,8 +12,8 @@ AllCops:
12
12
  NewCops: enable
13
13
  SuggestExtensions: false
14
14
  DisplayCopNames: true
15
- TargetRubyVersion: 2.7
16
- TargetRailsVersion: 6.1
15
+ TargetRubyVersion: 3.2
16
+ TargetRailsVersion: 7.1
17
17
  Exclude:
18
18
  - bin/**/*
19
19
  - vendor/**/*
data/Appraisals CHANGED
@@ -1,9 +1,17 @@
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
14
+
15
+ appraise 'rails-8.1' do
16
+ gem 'activesupport', '~> 8.1.0'
17
+ end
data/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
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
+ * Dropped Reek ([#35](https://github.com/hausgold/billomat/pull/35))
8
+ * Added support for Rails 8.1 ([#36](https://github.com/hausgold/billomat/pull/36))
9
+
10
+ ### 2.0.0 (28 June 2025)
11
+
12
+ * Corrected some RuboCop glitches ([#33](https://github.com/hausgold/billomat/pull/33))
13
+ * Drop Ruby 2 and end of life Rails (<7.1) ([#34](https://github.com/hausgold/billomat/pull/34))
14
+
5
15
  ### 1.5.1 (9 May 2025)
6
16
 
7
17
  * Corrected some RuboCop glitches ([#30](https://github.com/hausgold/billomat/pull/30))
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM hausgold/ruby:2.7
1
+ FROM hausgold/ruby:3.2
2
2
  LABEL org.opencontainers.image.authors="containers@hausgold.de"
3
3
 
4
4
  # Update system gem
@@ -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,8 +7,8 @@ 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'
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: .
@@ -3,8 +3,8 @@
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"
@@ -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: "../"
@@ -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.1.0"
19
+
20
+ gemspec path: "../"
@@ -104,8 +104,6 @@ module Billomat
104
104
  end
105
105
 
106
106
  # @return [Billomat::Configuration] the global gem configuration
107
- #
108
- # :reek:UtilityFunction because it's a shorthand
109
107
  def config
110
108
  Billomat.configuration
111
109
  end
@@ -53,6 +53,8 @@ module Billomat
53
53
  #
54
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.1'
6
+ VERSION = '2.1.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.1
4
+ version: 2.1.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-05-09 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,9 @@ 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
94
+ - gemfiles/rails_8.1.gemfile
93
95
  - lib/billomat.rb
94
96
  - lib/billomat/actions/cancel.rb
95
97
  - lib/billomat/actions/complete.rb
@@ -111,7 +113,6 @@ files:
111
113
  - lib/billomat/models/template.rb
112
114
  - lib/billomat/search.rb
113
115
  - lib/billomat/version.rb
114
- homepage:
115
116
  licenses:
116
117
  - MIT
117
118
  metadata:
@@ -120,7 +121,6 @@ metadata:
120
121
  changelog_uri: https://github.com/hausgold/billomat/blob/master/CHANGELOG.md
121
122
  bug_tracker_uri: https://github.com/hausgold/billomat/issues
122
123
  documentation_uri: https://www.rubydoc.info/gems/billomat
123
- post_install_message:
124
124
  rdoc_options: []
125
125
  require_paths:
126
126
  - lib
@@ -128,15 +128,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: '2.7'
131
+ version: '3.2'
132
132
  required_rubygems_version: !ruby/object:Gem::Requirement
133
133
  requirements:
134
134
  - - ">="
135
135
  - !ruby/object:Gem::Version
136
136
  version: '0'
137
137
  requirements: []
138
- rubygems_version: 3.4.22
139
- signing_key:
138
+ rubygems_version: 3.6.9
140
139
  specification_version: 4
141
140
  summary: Wrapper for the Billomat API
142
141
  test_files: []