From fa2100f34bbe592305712e3215d3b60a1fca2840 Mon Sep 17 00:00:00 2001 From: onyx-and-iris Date: Tue, 25 Jul 2023 12:57:24 +0100 Subject: [PATCH] use writer methods when initializing values --- lib/voicemeeter/event.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/voicemeeter/event.rb b/lib/voicemeeter/event.rb index d8754bf..9c48ca2 100644 --- a/lib/voicemeeter/event.rb +++ b/lib/voicemeeter/event.rb @@ -32,11 +32,12 @@ module Voicemeeter attr_reader :pdirty, :mdirty, :midi, :ldirty def initialize(pdirty: false, mdirty: false, midi: false, ldirty: false) - @pdirty = pdirty - @mdirty = mdirty - @midi = midi - @ldirty = ldirty make_writer_methods :pdirty, :mdirty, :midi, :ldirty + + self.pdirty = pdirty + self.mdirty = mdirty + self.midi = midi + self.ldirty = ldirty end def to_s @@ -53,7 +54,7 @@ module Voicemeeter logger.info(info_msg.join(" ")) end - def make_writer_methods(*params) + private def make_writer_methods(*params) params.each do |param| define_singleton_method("#{param}=") do |value| instance_variable_set("@#{param}", value)