Module: Virtual
- Included in:
- Controls::AbstractMethod::Example, Controls::Extended::Example, Controls::Included::Example, Controls::ProtocolMethod::Example, Controls::PureVirtualMethod::Example, Controls::VirtualMethod::Body::Example, Controls::VirtualMethod::Example
- Defined in:
- lib/virtual/macro.rb,
lib/virtual/virtual.rb,
lib/virtual/activate.rb,
lib/virtual/pure_method.rb,
lib/virtual/controls/clean.rb,
lib/virtual/virtual_method.rb,
lib/virtual/protocol_method.rb,
lib/virtual/controls/extended.rb,
lib/virtual/controls/included.rb,
lib/virtual/controls/virtual_method.rb,
lib/virtual/controls/abstract_method.rb,
lib/virtual/controls/protocol_method.rb,
lib/virtual/controls/pure_virtual_method.rb
Defined Under Namespace
Modules: Controls, Macro, ProtocolMethod, PureMethod, VirtualMethod
Class Method Summary
collapse
Class Method Details
.activate(target_class = nil) ⇒ Object
2
3
4
5
6
7
8
|
# 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) ⇒ Boolean
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/virtual/activate.rb', line 10
def self.activated?(target_class=nil)
target_class ||= Object
subject = subject_class(target_class)
Macro.macro_methods.each do |mthd|
if not subject.respond_to?(mthd)
return false
end
end
true
end
|
.extended(cls) ⇒ Object
6
7
8
|
# File 'lib/virtual/virtual.rb', line 6
def self.extended(cls)
activate(cls)
end
|
.included(cls) ⇒ Object
2
3
4
|
# File 'lib/virtual/virtual.rb', line 2
def self.included(cls)
activate(cls)
end
|
.subject_class(subject) ⇒ Object
24
25
26
27
28
29
30
|
# File 'lib/virtual/activate.rb', line 24
def self.subject_class(subject)
if [Module, Class].include?(subject)
return subject
else
return subject.class
end
end
|