Sha256: 553a3d4c2c25061796623ed5b46c8dc4ec7c7ec87fec747b1d4d6638445f929f
Contents?: true
Size: 683 Bytes
Versions: 1
Compression:
Stored size: 683 Bytes
Contents
# frozen_string_literal: true class Beholder def self.inherited(subclass) super subclass.disabled = subclass.superclass.disabled? end def self.disable! @disabled = true end def self.enable! @disabled = false end def self.disabled? @disabled end def self.disabled=(value) @disabled = value end def self.self_and_descendants [self] + descendants end def self.enable_all! self_and_descendants.each(&:enable!) end def self.disable_all! self_and_descendants.each(&:disable!) end def self.trigger(action, model) return if disabled? new.public_send(action, model) if method_defined? action end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
beholders-1.0.0 | lib/beholders/beholder.rb |