Sha256: 27455aac7c861dd3c3ed95b46ffe18f55f544cbc1a387734052b77663ed7f90e
Contents?: true
Size: 583 Bytes
Versions: 1
Compression:
Stored size: 583 Bytes
Contents
module Usable class ModExtender attr_accessor :copy, :mod, :config def initialize(mod, config = OpenStruct.new) @mod = mod @copy = has_spec? ? mod.const_get(:UsableSpec).dup : mod.dup @config = config end # @note Destructive def call override copy end def override unwanted = config.only ? copy.instance_methods - Array(config.only) : [] unwanted.each do |method_name| copy.send :remove_method, method_name end end def has_spec? mod.const_defined?(:UsableSpec) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
usable-1.0.0 | lib/usable/mod_extender.rb |