Class Yapra::LegacyPlugin::AdvanceModeRegistry
In: lib/yapra/legacy_plugin/advance_mode_registry.rb
Parent: Object

AdvanceModeRegistry load legacy plugin at one by one.

Methods

get   logger   new  

Attributes

legacy_plugins  [RW] 
pipeline  [RW] 
plugin_paths  [RW] 

Public Class methods

paths :Directory paths which contain legacy plugins.
pipeline :Runtime pipline.

[Source]

    # File lib/yapra/legacy_plugin/advance_mode_registry.rb, line 15
15:     def initialize paths, pipeline
16:       self.legacy_plugins = {}
17:       self.plugin_paths = paths.reverse
18:       self.pipeline = pipeline
19:     end

Public Instance methods

load plugin from module name.

example:

    registry = Yapra::LegacyPlugin::AdvanceModeRegistry.new(paths, pipeline)
    feed_load_plugin = registry.get('Feed::load')

[Source]

    # File lib/yapra/legacy_plugin/advance_mode_registry.rb, line 32
32:     def get module_name
33:       plugin = legacy_plugins[module_name]
34:       unless plugin
35:         plugin_paths.each do |folder|
36:           file = File.join(folder, (module_name.gsub('::', '/') + '.rb'))
37:           if File.file?(file)
38:             plugin = Yapra::LegacyPlugin::Base.new(pipeline, file)
39:             legacy_plugins[ module_name ] = plugin
40:             logger.debug "#{module_name} is loaded from #{file}"
41:             break
42:           end
43:         end
44:       end
45:       raise "#{module_name} is not registered." unless plugin
46:       plugin
47:     end

[Source]

    # File lib/yapra/legacy_plugin/advance_mode_registry.rb, line 21
21:     def logger
22:       Yapra::Runtime.logger
23:     end

[Validate]