Skip to content

Commit d368782

Browse files
Version 1.4: Updated to ERiC 42.2.2.0, translated error codes, allow returning error & result buffers, update to ruby 3.4.2 (#1)
1 parent d567da1 commit d368782

7 files changed

Lines changed: 257 additions & 244 deletions

File tree

.tool-versions

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ruby 3.3.0
1+
ruby 3.4.2

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
source 'https://rubygems.org'
22

3-
ruby '3.3.0'
3+
ruby '3.4.2'
44

55
# Specify your gem's dependencies in liberic.gemspec
66
gemspec

lib/liberic/helpers/invocation.rb

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,23 @@ def with_result_buffer(raise_on_error = true, &block)
2222
SDK::API.rueckgabepuffer_freigeben(handle)
2323
result
2424
end
25+
26+
def with_local_and_server_result_buffers(&block)
27+
local_handle = SDK::API.rueckgabepuffer_erzeugen
28+
server_handle = SDK::API.rueckgabepuffer_erzeugen
29+
30+
error_code = yield(local_handle, server_handle)
31+
32+
local_result = Liberic::SDK::API.rueckgabepuffer_inhalt(local_handle)
33+
server_result = Liberic::SDK::API.rueckgabepuffer_inhalt(server_handle)
34+
35+
return {
36+
error_code: error_code,
37+
error_message: SDK::Fehlercodes::CODES[error_code],
38+
local_result: local_result,
39+
server_result: server_result
40+
}
41+
end
2542
end
2643
end
2744
end

lib/liberic/process.rb

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ def execute(options = {})
6060
eric_action = ACTIONS[action] || (raise ExecutionError.new("Invalid action: #{action}. Valid actions are #{ACTIONS.keys.join(', ')}"))
6161
is_printing = %w[submit print_and_submit print_and_submit_auth].include?(action.to_s)
6262
print_params = create_print_params(options)
63-
server_buffer = SDK::API.rueckgabepuffer_erzeugen
64-
result = Helpers::Invocation.with_result_buffer(false) do |local_buffer|
63+
64+
result = Helpers::Invocation.with_local_and_server_result_buffers do |local_buffer, server_buffer|
6565
SDK::API.bearbeite_vorgang(@xml, @type,
6666
eric_action,
6767
(action == :submit ? nil : print_params),
@@ -70,13 +70,8 @@ def execute(options = {})
7070
local_buffer,
7171
server_buffer)
7272
end
73-
server_result = SDK::API.rueckgabepuffer_inhalt(server_buffer)
74-
SDK::API.rueckgabepuffer_freigeben(server_buffer)
7573
print_params.pointer.free
76-
{
77-
result: result,
78-
server_result: server_result
79-
}
74+
result
8075
end
8176

8277
private
@@ -93,7 +88,7 @@ def create_print_params(options)
9388
params = SDK::Types::DruckParameter.new
9489
params[:version] = 4
9590
params[:duplexDruck] = options[:duplex] ? 1 : 0
96-
params[:vorschau] = options.has_key?(:draft) ? (options[:draft] ? 1 : 0) : 1
91+
params[:vorschau] = options.has_key?(:draft) ? (options[:draft] ? 1 : 0) : 0
9792
{pdfName: :filename,
9893
fussText: :footer}.each do |eric_param, ruby_param|
9994
if options[ruby_param]

lib/liberic/sdk/configuration.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module Liberic
22
module SDK
33
module Configuration
4-
LIBERICAPI_VERSION = %w(39.2.4.0)
4+
LIBERICAPI_VERSION = %w(42.2.2.0)
55
ENCODING = 'iso-8859-15'
66
end
77
end

lib/liberic/sdk/fehlercodes.rb

Lines changed: 232 additions & 231 deletions
Large diffs are not rendered by default.

lib/liberic/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module Liberic
2-
VERSION = '1.3.0'
2+
VERSION = '1.4.0'
33
end

0 commit comments

Comments
 (0)