module Virtual
Public Class Methods
activate(target_class=nil)
click to toggle source
# File lib/virtual/activate.rb, line 2 def self.activate(target_class=nil) target_class ||= Object return if target_class.ancestors.include?(Virtual::Macro) target_class.extend(Virtual::Macro) end
activated?(target_class=nil)
click to toggle source
# File lib/virtual/activate.rb, line 10 def self.activated?(target_class=nil) target_class ||= Object subject = subject_class(target_class) ['virtual', 'pure_virtual', 'abstract'].each do |mthd| fail mthd unless subject.respond_to?(mthd) end end
extended(cls)
click to toggle source
# File lib/virtual/virtual.rb, line 6 def self.extended(cls) activate(cls) end
included(cls)
click to toggle source
# File lib/virtual/virtual.rb, line 2 def self.included(cls) activate(cls) end
subject_class(subject)
click to toggle source
# File lib/virtual/activate.rb, line 20 def self.subject_class(subject) if [Module, Class].include?(subject) return subject else return subject.class end end