Module: Nand::Plugin

Defined in:
lib/nand/plugin.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(klass) ⇒ Object



8
9
10
11
# File 'lib/nand/plugin.rb', line 8

def self.extended(klass)
  raise "Already Registered Name #{klass.plugin_name}" if extended_class_map.include? klass.plugin_name
  extended_class_map[klass.plugin_name] = klass
end

.plugin!(name, *argv) ⇒ Object



12
13
14
15
# File 'lib/nand/plugin.rb', line 12

def self.plugin!( name, *argv )
  raise "Unregisterd #{name}" unless extended_class_map.include? name
  extended_class_map[name].executor(*argv)
end

Instance Method Details

#executor(*argv) ⇒ Object



7
# File 'lib/nand/plugin.rb', line 7

def executor(*argv) ; raise "Not Implemented #{__method__} in #{self}"  end

#plugin_nameObject



5
# File 'lib/nand/plugin.rb', line 5

def plugin_name; self.name end