Sha256: e097d84990a9db302b14eacc3f6df455a701a3938511ba018bd24e8a1a2a2711
Contents?: true
Size: 1.07 KB
Versions: 1
Compression:
Stored size: 1.07 KB
Contents
# encoding: utf-8 module Chronicles # Array of object methods selected by options # # @private class Methods < Array def initialize(object, **options) @object = object @options = options super(whitelist.empty? ? list : list & whitelist) end private attr_reader :object, :options def list [public_list, protected_list, private_list].flatten.compact - blacklist end def whitelist Array(options[:only]).map(&:to_sym) end def blacklist Array(options[:except]).map(&:to_sym) end def public_list return if options[:public].equal?(false) object.public_methods - Object.public_instance_methods - own_list end def own_list %i(chronicles start_chronicles stop_chronicles) end def protected_list return if options[:protected].equal?(false) object.protected_methods end def private_list return if options[:private].equal?(false) object.private_methods - Object.private_instance_methods end end # class Methods end # module Chronicles
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
chronicles-0.0.1 | lib/chronicles/methods.rb |