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 +4 -4
- data/.github/workflows/release.yml +3 -3
- data/.github/workflows/test.yml +3 -3
- data/.rubocop.yml +1 -1
- data/Appraisals +8 -4
- data/CHANGELOG.md +5 -0
- data/Dockerfile +2 -2
- data/Gemfile +2 -2
- data/Makefile +1 -1
- data/billomat.gemspec +2 -2
- data/doc/assets/project.svg +7 -68
- data/docker-compose.yml +0 -1
- data/gemfiles/rails_7.1.gemfile +2 -2
- data/gemfiles/rails_7.2.gemfile +20 -0
- data/gemfiles/rails_8.0.gemfile +20 -0
- data/lib/billomat/models/base.rb +12 -1
- data/lib/billomat/version.rb +1 -1
- metadata +8 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5207ff86ffae0adc27256cdd5b11c8fe077863af6bbd506026884756bb86b81
|
4
|
+
data.tar.gz: dce3876b2653f45df09bf925e31732f8b0a0d6de4f079f17aeebbefc85ccd300
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
23
|
+
- name: Install Ruby 3.2
|
24
24
|
uses: ruby/setup-ruby@v1
|
25
25
|
with:
|
26
|
-
ruby-version: 2
|
26
|
+
ruby-version: 3.2
|
27
27
|
bundler-cache: true
|
28
|
-
rubygems: '3.
|
28
|
+
rubygems: '3.6.9'
|
29
29
|
|
30
30
|
- name: Prepare the virtual environment
|
31
31
|
uses: hausgold/actions/ci@master
|
data/.github/workflows/test.yml
CHANGED
@@ -18,8 +18,8 @@ jobs:
|
|
18
18
|
strategy:
|
19
19
|
fail-fast: false
|
20
20
|
matrix:
|
21
|
-
ruby: ['
|
22
|
-
rails: ['
|
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.
|
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
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
|
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.
|
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
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
|
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
|
34
|
+
spec.required_ruby_version = '>= 3.2'
|
35
35
|
|
36
|
-
spec.add_dependency 'activesupport', '>=
|
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
|
data/doc/assets/project.svg
CHANGED
@@ -1,68 +1,7 @@
|
|
1
|
-
|
2
|
-
<
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
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:'OpenSans-Bold'}.st4{font-size:29.5168px}.st5{fill-rule:evenodd;clip-rule:evenodd;fill:none}.st7{font-family:'OpenSans'}.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
data/gemfiles/rails_7.1.gemfile
CHANGED
@@ -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: "../"
|
data/lib/billomat/models/base.rb
CHANGED
@@ -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, &
|
127
|
+
def method_missing(method, *args, &)
|
117
128
|
return @data[method] if @data.to_h.key?(method)
|
118
129
|
|
119
130
|
super
|
data/lib/billomat/version.rb
CHANGED
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:
|
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:
|
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: '
|
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: '
|
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
|
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.
|
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: []
|