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

Version Path
logstash-filter-delta-1.0.0 vendor/bundle/jruby/2.2.0/gems/coderay-1.1.1/lib/coderay/helpers/plugin.rb
logstash-filter-base64-1.0.2 vendor/bundle/jruby/2.3.0/gems/coderay-1.1.1/lib/coderay/helpers/plugin.rb
logstash-filter-base64-1.0.1 vendor/bundle/jruby/2.3.0/gems/coderay-1.1.1/lib/coderay/helpers/plugin.rb
logstash-filter-base64-1.0.0 vendor/bundle/jruby/2.3.0/gems/coderay-1.1.1/lib/coderay/helpers/plugin.rb
coderay-1.1.1 lib/coderay/helpers/plugin.rb
coderay-1.1.1.rc1 lib/coderay/helpers/plugin.rb