voicemeeter-rb/lib/voicemeeter/errors.rb

27 lines
514 B
Ruby
Raw Normal View History

require_relative "util"
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_#{Util::String.camelcase(@ruby_name.to_s.delete_prefix("bind_")).sub("macro_button", "macrobutton")}"
end
end
end
end