billomat 1.5.1 → 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: 6ee6ebd2cbd53ca2dbd1dee24eae4635a8c59659eb9dd582a74ea653476fc92b
4
- data.tar.gz: 63806bba355815bc2268fba35da890892aeafcbb1433495b277e720aeb3cf722
3
+ metadata.gz: c5207ff86ffae0adc27256cdd5b11c8fe077863af6bbd506026884756bb86b81
4
+ data.tar.gz: dce3876b2653f45df09bf925e31732f8b0a0d6de4f079f17aeebbefc85ccd300
5
5
  SHA512:
6
- metadata.gz: 0111304b1914f53af9e8a309e61d7bcff6e1f5df88610f9862d684fbf1ae2e41eb49cd39735b890d26aa36508f90d63a59ddf0f7ef883545142b30968b8a0472
7
- data.tar.gz: 3eb8e02713788b62695c9fb2484c75e174b4b8ef3262fd726dff6f641d9d0417e587a7967fb237aa0ab7e18b6bed90745673f948fc72a65a42668afb5dc195ee
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
@@ -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/**/*
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,11 @@
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
+
5
10
  ### 1.5.1 (9 May 2025)
6
11
 
7
12
  * 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: "../"
@@ -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.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.1
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-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,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: []