class RDoc::RubygemsHook

This class is referenced by RubyGems to create documents. All implementations are moved to the above RubyGemsHook.

This class does nothing when this RDoc is installed as a normal gem or a bundled gem.

This class does generate/remove documents for compatibility when this RDoc is installed as a default gem.

We can remove this when all maintained RubyGems remove ‘rubygems/rdoc.rb`.

Attributes

Public Class Methods

# File lib/rdoc/rubygems_hook.rb, line 275
def self.default_gem?
  !File.exist?(File.join(__dir__, "..", "rubygems_plugin.rb"))
end
# File lib/rdoc/rubygems_hook.rb, line 305
def self.generation_hook(installer, specs)
  # Do nothing if this is NOT a default gem.
  return unless default_gem?

  # Generate document for compatibility if this is a default gem.
  RubyGemsHook.generate(installer, specs)
end
# File lib/rdoc/rubygems_hook.rb, line 313
def self.load_rdoc
  RubyGemsHook.load_rdoc
end
# File lib/rdoc/rubygems_hook.rb, line 279
def initialize(spec, generate_rdoc = false, generate_ri = true)
  @spec = spec
  @generate_rdoc = generate_rdoc
  @generate_ri   = generate_ri
  @force = false
end
# File lib/rdoc/rubygems_hook.rb, line 317
def self.rdoc_version
  RubyGemsHook.rdoc_version
end

Public Instance Methods

# File lib/rdoc/rubygems_hook.rb, line 286
def generate
  # Do nothing if this is NOT a default gem.
  return unless self.class.default_gem?

  # Generate document for compatibility if this is a default gem.
  hook = RubyGemsHook.new(@spec, @generate_rdoc, @generate_ri)
  hook.force = @force
  hook.generate
end
# File lib/rdoc/rubygems_hook.rb, line 321
def rdoc_installed?
  RubyGemsHook.new(@spec).rdoc_installed?
end
# File lib/rdoc/rubygems_hook.rb, line 296
def remove
  # Do nothing if this is NOT a default gem.
  return unless self.class.default_gem?

  # Remove generated document for compatibility if this is a
  # default gem.
  RubyGemsHook.new(@spec).remove
end
# File lib/rdoc/rubygems_hook.rb, line 325
def ri_installed?
  RubyGemsHook.new(@spec).ri_installed?
end