mirror of
https://github.com/onyx-and-iris/voicemeeter-rb.git
synced 2024-11-22 18:00:48 +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)
|
res = send(fn, *args)
|
||||||
if exp.nil?
|
if exp.nil?
|
||||||
unless ok.include?(res)
|
unless ok.include?(res)
|
||||||
raise Errors::VMCAPIError.new("#{fn} returned #{res}")
|
raise Errors::VMCAPIError.new(fn, res)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
unless exp.call(res) && ok.include?(res)
|
unless exp.call(res) || ok.include?(res)
|
||||||
raise Errors::VMCAPIError.new("#{fn} returned #{res}")
|
raise Errors::VMCAPIError.new(fn, res)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
res
|
res
|
||||||
|
@ -1,9 +1,26 @@
|
|||||||
|
require_relative "core_extensions/string/camelcase"
|
||||||
|
|
||||||
module Voicemeeter
|
module Voicemeeter
|
||||||
module Errors
|
module Errors
|
||||||
class VMError < StandardError
|
class VMError < StandardError
|
||||||
end
|
end
|
||||||
|
|
||||||
class VMCAPIError < VMError
|
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
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user