module RSence::Plugins::PluginPlugins

Include this module in your subclass of {Plugin__ Plugin} to enable sub-plugin bundles in another plugin bundle.

The plugins loaded using this system are isolated from system-wide plugins.

To address them from this plugin, use +@plugin_plugins+ instead of +@plugins+ to access them.

Install your sub-plugins into a directory named plugins inside your plugin bundle.

Attributes

plugin_plugins[R]

Makes @plugin_plugins accessible

Public Instance Methods

cloned_source( msg, target_session ) click to toggle source

Extended {#cloned_source}, delegates calls to the sub-plugins.

Calls superclass method
# File lib/rsence/plugins/plugin_plugins.rb, line 76
def cloned_source( msg, target_session )
  super
  @plugin_plugins.delegate(:cloned_source,msg,target_session)
end
cloned_target( msg, source_session ) click to toggle source

Extended {#cloned_target}, delegates calls to the sub-plugins.

Calls superclass method
# File lib/rsence/plugins/plugin_plugins.rb, line 70
def cloned_target( msg, source_session )
  super
  @plugin_plugins.delegate(:cloned_target,msg,source_session)
end
close() click to toggle source

Extended {#close}, delegates calls to the sub-plugins.

Calls superclass method
# File lib/rsence/plugins/plugin_plugins.rb, line 39
def close
  super
  @plugin_plugins.delegate(:close)
  @plugin_plugins.shutdown
end
flush() click to toggle source

Extended {#flush}, delegates calls to the sub-plugins.

Calls superclass method
# File lib/rsence/plugins/plugin_plugins.rb, line 46
def flush
  super
  @plugin_plugins.delegate(:flush)
end
idle( msg ) click to toggle source

Extended {#idle}, delegates calls to the sub-plugins.

Calls superclass method
# File lib/rsence/plugins/plugin_plugins.rb, line 52
def idle( msg )
  super
  @plugin_plugins.delegate(:idle,msg)
end
init() click to toggle source

Extended {#init}, delegates calls to the sub-plugins.

Calls superclass method
# File lib/rsence/plugins/plugin_plugins.rb, line 21
def init
  super
  @plugin_plugins = RSence::PluginManager.new({
    :plugin_paths => [ bundle_path('plugins') ],
    :autoreload => true,
    :name_prefix => name_with_manager_s.to_sym,
    :parent_manager => @plugins,
    :resolved_deps => [ :system, @name, name_with_manager_s.to_sym ]
  })
end
init_ses( msg ) click to toggle source

Extended {#init_ses}, delegates calls to the sub-plugins.

Calls superclass method
# File lib/rsence/plugins/plugin_plugins.rb, line 58
def init_ses( msg )
  super
  @plugin_plugins.delegate(:init_ses,msg)
end
open() click to toggle source

Extended {#open}, delegates calls to the sub-plugins.

Calls superclass method
# File lib/rsence/plugins/plugin_plugins.rb, line 33
def open
  super
  @plugin_plugins.delegate(:open)
end
restore_ses( msg ) click to toggle source

Extended {#restore_ses}, delegates calls to the sub-plugins.

Calls superclass method
# File lib/rsence/plugins/plugin_plugins.rb, line 64
def restore_ses( msg )
  super
  @plugin_plugins.delegate(:restore_ses,msg)
end