edge badge
Methods
A
C
D
L
N
S
Constants
RDOC_FILES = { "activesupport" => { include: %w( README.rdoc lib/active_support/**/*.rb ), exclude: "lib/active_support/vendor/*" }, "activerecord" => { include: %w( README.rdoc lib/active_record/**/*.rb ) }, "activemodel" => { include: %w( README.rdoc lib/active_model/**/*.rb ) }, "actionpack" => { include: %w( README.rdoc lib/abstract_controller/**/*.rb lib/action_controller/**/*.rb lib/action_dispatch/**/*.rb ) }, "actionview" => { include: %w( README.rdoc lib/action_view/**/*.rb ), exclude: "lib/action_view/vendor/*" }, "actionmailer" => { include: %w( README.rdoc lib/action_mailer/**/*.rb ) }, "activejob" => { include: %w( README.md lib/active_job/**/*.rb ) }, "actioncable" => { include: %w( README.md lib/action_cable/**/*.rb ) }, "railties" => { include: %w( README.rdoc lib/**/*.rb ), exclude: "lib/rails/generators/rails/**/templates/**/*.rb" } }
 
Class Public methods
new(name)
# File railties/lib/rails/api/task.rb, line 76
def initialize(name)
  super

  # Every time rake runs this task is instantiated as all the rest.
  # Be lazy computing stuff to have as light impact as possible to
  # the rest of tasks.
  before_running_rdoc do
    load_and_configure_sdoc
    configure_rdoc_files
    setup_horo_variables
  end
end
Instance Public methods
api_main()
# File railties/lib/rails/api/task.rb, line 144
def api_main
  component_root_dir("railties") + "/RDOC_MAIN.rdoc"
end
configure_rdoc_files()
# File railties/lib/rails/api/task.rb, line 110
def configure_rdoc_files
  rdoc_files.include(api_main)

  RDOC_FILES.each do |component, cfg|
    cdr = component_root_dir(component)

    Array(cfg[:include]).each do |pattern|
      rdoc_files.include("#{cdr}/#{pattern}")
    end

    Array(cfg[:exclude]).each do |pattern|
      rdoc_files.exclude("#{cdr}/#{pattern}")
    end
  end

  # Only generate documentation for files that have been
  # changed since the API was generated.
  if Dir.exist?("doc/rdoc") && !ENV["ALL"]
    last_generation = DateTime.rfc2822(File.open("doc/rdoc/created.rid", &:readline))

    rdoc_files.keep_if do |file|
      File.mtime(file).to_datetime > last_generation
    end

    # Nothing to do
    exit(0) if rdoc_files.empty?
  end
end
desc(description)

Hack, ignore the desc calls performed by the original initializer.

# File railties/lib/rails/api/task.rb, line 90
def desc(description)
  # no-op
end
load_and_configure_sdoc()
# File railties/lib/rails/api/task.rb, line 94
def load_and_configure_sdoc
  require "sdoc"

  self.title    = "Ruby on Rails API"
  self.rdoc_dir = api_dir

  options << "-m"  << api_main
  options << "-e"  << "UTF-8"

  options << "-f"  << "sdoc"
  options << "-T"  << "rails"
rescue LoadError
  $stderr.puts %Q(Unable to load SDoc, please add\n\n    gem 'sdoc', require: false\n\nto the Gemfile.)
  exit 1
end
setup_horo_variables()
# File railties/lib/rails/api/task.rb, line 139
def setup_horo_variables
  ENV["HORO_PROJECT_NAME"]    = "Ruby on Rails"
  ENV["HORO_PROJECT_VERSION"] = rails_version
end