Module | CodeRay::Plugin |
In: |
lib/coderay/helpers/plugin.rb
|
Plugins have to include this module. IMPORTANT: use extend for this module. Example: see PluginHost.
Require some helper files.
Example:
class MyPlugin < PluginHost::BaseClass register_for :my_id helper :my_helper
The above example loads the file myplugin/my_helper.rb relative to the file in which MyPlugin was defined.
# File lib/coderay/helpers/plugin.rb, line 304 304: def helper *helpers 305: for helper in helpers 306: self::PLUGIN_HOST.require_helper plugin_id, helper.to_s 307: end 308: end
# File lib/coderay/helpers/plugin.rb, line 268 268: def included mod 269: warn "#{name} should not be included. Use extend." 270: end
The host for this Plugin class.
# File lib/coderay/helpers/plugin.rb, line 285 285: def plugin_host host = nil 286: if host and not host.is_a? PluginHost 287: raise ArgumentError, 288: "PluginHost expected, but #{host.class} given." 289: end 290: self.const_set :PLUGIN_HOST, host if host 291: self::PLUGIN_HOST 292: end
Returns the pulgin id used by the engine.
# File lib/coderay/helpers/plugin.rb, line 311 311: def plugin_id 312: name[/[\w_]+$/].downcase 313: end
Register this class for the given langs. Example:
class MyPlugin < PluginHost::BaseClass register_for :my_id ... end
See PluginHost.register.
# File lib/coderay/helpers/plugin.rb, line 280 280: def register_for *ids 281: plugin_host.register self, *ids 282: end