Sha256: a17c614994750e10e603d9e27aa7cf64fd92ebdee14dc9bd14b2c2b4d2f03174
Contents?: true
Size: 728 Bytes
Versions: 6
Compression:
Stored size: 728 Bytes
Contents
class ProconBypassMan::Procon::MacroRegistry PRESETS = { null: [], } def self.install_plugin(klass, steps: nil) if plugins[klass.to_s.to_sym] raise "#{klass} macro is already registered" end plugins[klass.to_s.to_sym] = ->{ ProconBypassMan::Procon::MacroBuilder.new(steps || klass.steps).build } end def self.load(name) steps = PRESETS[name] || plugins[name].call || raise("unknown macro") ProconBypassMan::Procon::Macro.new(name: name, steps: steps.dup) end def self.reset! ProconBypassMan::ButtonsSettingConfiguration.instance.macro_plugins = {} end def self.plugins ProconBypassMan::ButtonsSettingConfiguration.instance.macro_plugins end reset! end
Version data entries
6 entries across 6 versions & 1 rubygems