Module: Mashfeed::Plugin::Loader
- Defined in:
- lib/mashfeed/plugin.rb
Overview
plugin loader
Instance Method Summary collapse
Instance Method Details
#const_missing(name) ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/mashfeed/plugin.rb', line 64 def const_missing(name) plugin_name = [self.name.gsub(/Mashfeed::Plugin::/,''), name].join('::') filename = File.join(Mashfeed::Plugin.path, Inflector::underscore(plugin_name), 'init.rb') eval(<<-__EOM__) unless File.exist?(filename) module #{self.name}::#{name} extend ::Mashfeed::Plugin::Loader end #{self.name}::#{name} __EOM__ Mashfeed::Plugin.module_eval(File.read(filename), filename) eval([self.name,name].join('::')) end |