mirror of
https://github.com/onyx-and-iris/voicemeeter-rb.git
synced 2024-11-22 09:50:49 +00:00
VMCAPIError now takes fn and res as args
This commit is contained in:
parent
3c59c5d41c
commit
077a14fe62
@ -56,11 +56,11 @@ module Voicemeeter
|
||||
res = send(fn, *args)
|
||||
if exp.nil?
|
||||
unless ok.include?(res)
|
||||
raise Errors::VMCAPIError.new("#{fn} returned #{res}")
|
||||
raise Errors::VMCAPIError.new(fn, res)
|
||||
end
|
||||
else
|
||||
unless exp.call(res) && ok.include?(res)
|
||||
raise Errors::VMCAPIError.new("#{fn} returned #{res}")
|
||||
unless exp.call(res) || ok.include?(res)
|
||||
raise Errors::VMCAPIError.new(fn, res)
|
||||
end
|
||||
end
|
||||
res
|
||||
|
@ -1,9 +1,26 @@
|
||||
require_relative "core_extensions/string/camelcase"
|
||||
|
||||
module Voicemeeter
|
||||
module Errors
|
||||
class VMError < StandardError
|
||||
end
|
||||
|
||||
class VMCAPIError < VMError
|
||||
attr_reader :code
|
||||
|
||||
def initialize(ruby_name, code)
|
||||
@ruby_name = ruby_name
|
||||
@code = code
|
||||
super(message)
|
||||
end
|
||||
|
||||
def message
|
||||
"#{fn_name} returned #{code}"
|
||||
end
|
||||
|
||||
def fn_name
|
||||
"VBVMR_#{@ruby_name.to_s.delete_prefix("bind_").camelcase.sub("macro_button", "macrobutton")}"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user