Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
beefproject
GitHub Repository: beefproject/beef
Path: blob/master/core/ruby/module.rb
1154 views
1
#
2
# Copyright (c) 2006-2025 Wade Alcorn - [email protected]
3
# Browser Exploitation Framework (BeEF) - https://beefproject.com
4
# See the file 'doc/COPYING' for copying permission
5
#
6
class Module
7
# Returns the classes in the current ObjectSpace where this module has been mixed in according to Module#included_modules.
8
# @return [Array] An array of classes
9
def included_in_classes
10
classes = []
11
ObjectSpace.each_object(Class) { |k| classes << k if k.included_modules.include?(self) }
12
13
classes.reverse.each_with_object([]) do |klass, unique_classes|
14
unique_classes << klass unless unique_classes.collect { |k| k.to_s }.include?(klass.to_s)
15
end
16
end
17
18
# Returns the modules in the current ObjectSpace where this module has been mixed in according to Module#included_modules.
19
# @return [Array] An array of modules
20
def included_in_modules
21
modules = []
22
ObjectSpace.each_object(Module) { |k| modules << k if k.included_modules.include?(self) }
23
24
modules.reverse.each_with_object([]) do |klass, unique_modules|
25
unique_modules << klass unless unique_modules.collect { |k| k.to_s }.include?(klass.to_s)
26
end
27
end
28
end
29
30