class Jekyll::Plugin

Constants

PRIORITIES

Public Class Methods

<=>(other) click to toggle source

Spaceship is priority [higher -> lower]

other - The class to be compared.

Returns -1, 0, 1.

# File lib/jekyll/plugin.rb, line 70
def self.<=>(other)
  PRIORITIES[other.priority] <=> PRIORITIES[priority]
end
catch_inheritance(const) { |const_| ... } click to toggle source
# File lib/jekyll/plugin.rb, line 23
def self.catch_inheritance(const)
  const.define_singleton_method :inherited do |const_|
    (@children ||= Set.new).add const_
    yield const_ if block_given?
  end
end
descendants() click to toggle source
# File lib/jekyll/plugin.rb, line 32
def self.descendants
  @children ||= Set.new
  out = @children.map(&:descendants)
  out << self unless superclass == Plugin
  Set.new(out).flatten
end
inherited(const) click to toggle source
# File lib/jekyll/plugin.rb, line 15
def self.inherited(const)
  catch_inheritance(const) do |const_|
    catch_inheritance(const_)
  end
end
new(config = {}) click to toggle source

Initialize a new plugin. This should be overridden by the subclass.

config - The Hash of configuration options.

Returns a new instance.

# File lib/jekyll/plugin.rb, line 88
def initialize(config = {})
  # no-op for default
end
priority(priority = nil) click to toggle source

Get or set the priority of this plugin. When called without an argument it returns the priority. When an argument is given, it will set the priority.

priority - The Symbol priority (default: nil). Valid options are:

:lowest, :low, :normal, :high, :highest

Returns the Symbol priority.

# File lib/jekyll/plugin.rb, line 47
def self.priority(priority = nil)
  @priority ||= nil
  @priority = priority if priority && PRIORITIES.key?(priority)
  @priority || :normal
end
safe(safe = nil) click to toggle source

Get or set the safety of this plugin. When called without an argument it returns the safety. When an argument is given, it will set the safety.

safe - The Boolean safety (default: nil).

Returns the safety Boolean.

# File lib/jekyll/plugin.rb, line 60
def self.safe(safe = nil)
  @safe = safe unless defined?(@safe) && safe.nil?
  @safe || false
end

Public Instance Methods

<=>(other) click to toggle source

Spaceship is priority [higher -> lower]

other - The class to be compared.

Returns -1, 0, 1.

# File lib/jekyll/plugin.rb, line 79
def <=>(other)
  self.class <=> other.class
end