Module: Virtual::Macro

Defined in:
lib/virtual/macro.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.macro_methodsObject



19
20
21
22
23
24
25
26
# File 'lib/virtual/macro.rb', line 19

def self.macro_methods
  [
    'virtual',
    'pure_virtual',
    'abstract',
    'protocol'
  ]
end

Instance Method Details

#protocol_macro(method_name) ⇒ Object Also known as: protocol



14
15
16
# File 'lib/virtual/macro.rb', line 14

def protocol_macro(method_name)
  Virtual::ProtocolMethod.define(self, method_name)
end

#pure_macro(method_name) ⇒ Object Also known as: pure_virtual, abstract



8
9
10
# File 'lib/virtual/macro.rb', line 8

def pure_macro(method_name)
  Virtual::PureMethod.define(self, method_name)
end

#virtual_macro(method_name, &blk) ⇒ Object Also known as: virtual



3
4
5
# File 'lib/virtual/macro.rb', line 3

def virtual_macro(method_name, &blk)
  Virtual::VirtualMethod.define(self, method_name, &blk)
end