Module: RSence::Plugins::PluginPlugins
- Defined in:
- lib/rsence/plugins/plugin_plugins.rb
Overview
Include this module in your subclass of 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.
Instance Attribute Summary collapse
-
#plugin_plugins ⇒ Object
readonly
Makes @plugin_plugins accessible.
Instance Method Summary collapse
-
#cloned_source(msg, target_session) ⇒ Object
Extended #cloned_source, delegates calls to the sub-plugins.
-
#cloned_target(msg, source_session) ⇒ Object
Extended #cloned_target, delegates calls to the sub-plugins.
-
#close ⇒ Object
Extended #close, delegates calls to the sub-plugins.
-
#flush ⇒ Object
Extended #flush, delegates calls to the sub-plugins.
-
#idle(msg) ⇒ Object
Extended #idle, delegates calls to the sub-plugins.
-
#init ⇒ Object
Extended #init, delegates calls to the sub-plugins.
-
#init_ses(msg) ⇒ Object
Extended #init_ses, delegates calls to the sub-plugins.
-
#open ⇒ Object
Extended #open, delegates calls to the sub-plugins.
-
#restore_ses(msg) ⇒ Object
Extended #restore_ses, delegates calls to the sub-plugins.
Instance Attribute Details
#plugin_plugins ⇒ Object (readonly)
Makes @plugin_plugins accessible
18 19 20 |
# File 'lib/rsence/plugins/plugin_plugins.rb', line 18 def plugin_plugins @plugin_plugins end |
Instance Method Details
#cloned_source(msg, target_session) ⇒ Object
Extended #cloned_source, delegates calls to the sub-plugins.
76 77 78 79 |
# 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) ⇒ Object
Extended #cloned_target, delegates calls to the sub-plugins.
70 71 72 73 |
# 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 ⇒ Object
Extended #close, delegates calls to the sub-plugins.
39 40 41 42 43 |
# File 'lib/rsence/plugins/plugin_plugins.rb', line 39 def close super @plugin_plugins.delegate(:close) @plugin_plugins.shutdown end |
#flush ⇒ Object
Extended #flush, delegates calls to the sub-plugins.
46 47 48 49 |
# File 'lib/rsence/plugins/plugin_plugins.rb', line 46 def flush super @plugin_plugins.delegate(:flush) end |
#idle(msg) ⇒ Object
Extended #idle, delegates calls to the sub-plugins.
52 53 54 55 |
# File 'lib/rsence/plugins/plugin_plugins.rb', line 52 def idle( msg ) super @plugin_plugins.delegate(:idle,msg) end |
#init ⇒ Object
Extended #init, delegates calls to the sub-plugins.
21 22 23 24 25 26 27 28 29 30 |
# 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) ⇒ Object
Extended #init_ses, delegates calls to the sub-plugins.
58 59 60 61 |
# File 'lib/rsence/plugins/plugin_plugins.rb', line 58 def init_ses( msg ) super @plugin_plugins.delegate(:init_ses,msg) end |
#open ⇒ Object
Extended #open, delegates calls to the sub-plugins.
33 34 35 36 |
# File 'lib/rsence/plugins/plugin_plugins.rb', line 33 def open super @plugin_plugins.delegate(:open) end |
#restore_ses(msg) ⇒ Object
Extended #restore_ses, delegates calls to the sub-plugins.
64 65 66 67 |
# File 'lib/rsence/plugins/plugin_plugins.rb', line 64 def restore_ses( msg ) super @plugin_plugins.delegate(:restore_ses,msg) end |