From 59cda8aca692619cb63246283062d86fe7a81c53 Mon Sep 17 00:00:00 2001 From: onyx-and-iris Date: Wed, 30 Aug 2023 13:19:03 +0100 Subject: [PATCH] move attr_reader into macro method --- lib/voicemeeter/event.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/voicemeeter/event.rb b/lib/voicemeeter/event.rb index ab35dc2..51d47d5 100644 --- a/lib/voicemeeter/event.rb +++ b/lib/voicemeeter/event.rb @@ -28,8 +28,10 @@ module Voicemeeter include Logging class << self - private def attr_events(*params) + private def attr_accessor_events(*params) params.each do |param| + attr_reader param + define_method("#{param}=") do |value| instance_variable_set("@#{param}", value) info("#{param} #{value ? "added to" : "removed from"}") @@ -38,8 +40,7 @@ module Voicemeeter end end - attr_reader :pdirty, :mdirty, :midi, :ldirty - attr_events :pdirty, :mdirty, :midi, :ldirty + attr_accessor_events :pdirty, :mdirty, :midi, :ldirty def initialize(**kwargs) kwargs.each do |key, value|