Sha256: 1cc7bacb7d587b8cee44eece323c3669c07c6a6d98239de54b7d2d17a1e70e1f
Contents?: true
Size: 1.11 KB
Versions: 6606
Compression:
Stored size: 1.11 KB
Contents
module CodeRay # = Plugin # # Plugins have to include this module. # # IMPORTANT: Use extend for this module. # # See CodeRay::PluginHost for examples. module Plugin attr_reader :plugin_id # Register this class for the given +id+. # # Example: # class MyPlugin < PluginHost::BaseClass # register_for :my_id # ... # end # # See PluginHost.register. def register_for id @plugin_id = id plugin_host.register self, id end # Returns the title of the plugin, or sets it to the # optional argument +title+. def title title = nil if title @title = title.to_s else @title ||= name[/([^:]+)$/, 1] end end # The PluginHost for this Plugin class. def plugin_host host = nil if host.is_a? PluginHost const_set :PLUGIN_HOST, host end self::PLUGIN_HOST end def aliases plugin_host.plugin_hash.inject [] do |aliases, (key, _)| aliases << key if plugin_host[key] == self aliases end end end end
Version data entries
6,606 entries across 6,597 versions & 60 rubygems