lib/mpatch/module.rb in mpatch-2.3.0 vs lib/mpatch/module.rb in mpatch-2.4.0
- old
+ new
@@ -1,77 +1,88 @@
-module MPatch::Include
- module Module
+module MPatch
- # return the module objects direct sub modules
- def submodules
- constants.collect {|const_name| const_get(const_name)}.select {|const| const.class == ::Module}
- end
+ module Include
- # return the module objects direct sub modules
- def subclasses
- constants.collect {|const_name| const_get(const_name)}.select {|const| const.class == ::Class}
- end
+ module Module
- alias :modules :submodules
- alias :classes :subclasses
+ # return the module objects direct sub modules
+ def submodules
+ constants.collect {|const_name| const_get(const_name)}.select {|const| const.class == ::Module}
+ end
- def mixin_ancestors(include_ancestors=true)
- ancestors.take_while {|a| include_ancestors || a != superclass }.
- select {|ancestor| ancestor.instance_of?( ::Module ) }
- end
+ # return the module objects direct sub modules
+ def subclasses
+ constants.collect {|const_name| const_get(const_name)}.select {|const| const.class == ::Class}
+ end
- def inherited_by *args
+ alias :modules :submodules
+ alias :classes :subclasses
- if args.empty?
- args.push(::Class)
- args.push(::Module)
+ def mixin_ancestors(include_ancestors=true)
+ ancestors.take_while {|a| include_ancestors || a != superclass }.
+ select {|ancestor| ancestor.instance_of?( ::Module ) }
end
- return_array= []
- args.each do |type_name|
+ def inherited_by *args
- ::ObjectSpace.each_object(type_name) do |candidate|
- begin
+ if args.empty?
+ args.push(::Class)
+ args.push(::Module)
+ end
- if !return_array.include?(candidate) && candidate != self
- case self.class.to_s
+ return_array= []
+ args.each do |type_name|
- when "Module"
- return_array.push candidate if candidate.mixin_ancestors.include?(self)
+ ::ObjectSpace.each_object(type_name) do |candidate|
+ begin
- when "Class"
- return_array.push candidate if candidate < self
+ if !return_array.include?(candidate) && candidate != self
+ case self.class.to_s
+ when "Module"
+ return_array.push candidate if candidate.mixin_ancestors.include?(self)
+
+ when "Class"
+ return_array.push candidate if candidate < self
+
+ end
+
end
+ rescue ::ArgumentError, ::NoMethodError
end
-
- rescue ::ArgumentError, ::NoMethodError
end
+
end
+ return_array
end
- return_array
+
end
-
end
-end
-module MPatch::Extend
- module Module
+ module Extend
- def convert_instance_methods_to_singleton_methods
+ module Module
- self.instance_methods.each do |symbol|
- module_function symbol
- public symbol
+ def convert_instance_methods_to_singleton_methods
+
+ self.instance_methods.each do |symbol|
+ module_function symbol
+ public symbol
+ end
+
end
+ alias :ci2s :convert_instance_methods_to_singleton_methods
+ alias :instances2singletons :convert_instance_methods_to_singleton_methods
+
end
- alias :ci2s :convert_instance_methods_to_singleton_methods
- alias :instances2singletons :convert_instance_methods_to_singleton_methods
-
end
-end
\ No newline at end of file
+
+ require File.join 'mpatch','injector'
+
+
+end